#! perl -slw use strict; my $data; open my $bigFH, '<:raw', 'data/650MB.bin' or die $!; sysread( $bigFH, $data, -s( 'data/650MB.bin' ) ); close $bigFH; open my $smallFH, '<', 'data/600.bin' or die $!; while( <$smallFH> ) { print STDERR "\n$. "; chomp; my $name = "data/$_.posns"; next if -e $name; open O, '>', $name or die $!; print STDERR "File: '$name' opened"; my $p = 0; while( $p = 1+index( $data, $_, $p ) ) { print O $p; } close O; } close $smallFH;