while (my $line1 = ) { if( ($line1 =~ /addr/) ) { $line1 =~ /addr:([a-z0-9-]+)\s+/; my $address = hex $1; if($address & 1 ) { printf OUT_FILE1 ("$line1"); } else { printf OUT_FILE2 ("$line1"); } } }