#! perl -slw use strict; $|++; my( @f, %lookup ); open SMALLER, '<', 'syssort.2%' or die $!; @f = split(), undef $lookup{ "$f[0]$;$f[2]" } while ; close SMALLER; open BIGGER, '<:perlio', 'syssort' or die $!; open OUT, '>', 'out' or die $!; while( ) { printf "\r$." unless $. % 1000; my @f = split; print OUT "$f[0] $f[2] $f[5]" if exists $lookup{ "$f[0]$;$f[2]" }; } close OUT; close BIGGER;