in reply to Question on file compare

%F1hash is not %Flhash. strict would have told you. Also, $F1hash{$ptfkey, $ptfpn} = $ptfpn; probably does not do what you think - use Data::Dumper to see what your structures contain.