#!/usr/bin/env perl use strict; use warnings; use autodie; my ($file_in, $file_out_0, $file_out_1) = qw{ pm_11114156_record_collate_in.txt pm_11114156_record_collate_out_0.txt pm_11114156_record_collate_out_1.txt }; my (@out_fhs, $out_fh); my $re = qr{\saddr:(0x[0-9a-f]+)\s}; open my $in_fh, '<', $file_in; open $out_fhs[0], '>', $file_out_0; open $out_fhs[1], '>', $file_out_1; while (<$in_fh>) { if (/$re/) { $out_fh = $out_fhs[hex $1 & 1]; } print $out_fh $_; }