$log = "/home/tsec/prototype/logs/extractedlogs/cowrieresult.log"; open(DATA, $log) or die "Can't open '$log': $!"; sub tester() { while(){ ... } for my $ip (keys %HONEY){ ... } for my $data (sort @DATA){ ... } }