use warnings; use strict; use File::Glob ':bsd_glob'; my @infiles = sort glob 'SBNUM_*.txt'; my $outfile = 'v2test.txt'; open my $ofh, '>', $outfile or die "$outfile: $!"; my ($prevleft,$prevright); for my $infile (@infiles) { open my $ifh, '<', $infile or die "$infile: $!"; while (<$ifh>) { my ($left,$right) = /^(\d{3}),-->(\d{3}),$/ or die "Couldn't match '$_'"; if (defined $prevleft) { print $ofh "$prevleft,-->$right,\n"; } ($prevleft,$prevright) = ($left,$right); } close $ifh; } close $ofh;