in reply to Deleting a word in a file!

The following usages of a hash look strange:
my %sfi = <FILE>; foreach my $sfi (%sfi) {

Do you really want an array?