in reply to Dealing with large files in Perl
I released Sort::Key::Merger recently on CPAN, it can mergesort data from several files efficiently:
use Sort::Key::Merger qw(filekeymerger); my @last; my $sorted = filekeymerger { (split)[0] } @file1_parts, @file2_parts; while(defined(my $line=&$sorted)) { chomp($line); my ($id, $up, $down) = split ' ', $line; if (!@last or $last[0] eq $id) { push @last, $id, $up, $down; } else { print "@last $id $up $down\n"; @last=(); } } print "@last" if @last;
|
|---|