$ cat gen_targets.pl
#!/usr/bin/perl
use strict;
use warnings;
my $file = $ARGV[0] || 'targets.txt';
open (OUTPUT, '>', $file) or die "Unable to open $file for writing : $!";
print OUTPUT int rand 5_000_000, "\n" for 1 .. 5_000;
####
my $file = $ARGV[0] || 'targets.txt';
open (INPUT, '<', $file) or die "Unable to open $file for reading : $!";
while ( ) {
chomp;
get_three( $_ ); # used your sub/calling convention
}
####
$ time ./lr.pl
real 1m0.706s
user 1m0.416s
sys 0m0.080s
$ time ./fu.pl
real 1m0.791s
user 1m0.326s
sys 0m0.220s