$user_param{source_addr} ||= '.'; # default value for param $user_param{dest_addr} ||= '.'; while () { my @data = split(/\s/, $_); next unless $data[2] =~ $user_param{source_addr}; next unless $data[3] =~ $user_param{dest_addr}; # ... print $_; }