######## code starts ######## while (my $line1 = ) { if( ($line1 =~ /address/) ) { $line1 =~ /address:([a-z0-9-]+)\s+/; my $address = hex $1; $grep = substr( (sprintf "%b", $address), -1, 1); if($grep) { printf OUT_FILE1 ("$line1"); } else { printf OUT_FILE2 ("$line1"); } } } ######## code ends ########