my %cache; sub first_line { my $filename = shift; return $cache{$filename} if exists $cache{$filename} open FILE,$filename or return ""; my $line=; $cache{$filename}=$line; return $line; }