in reply to Code for generating a word frequency count not working
Athanasius beat me to the draw for your immediate issue and the good style advice. He missed suggesting you should check your opens however.
Perl provides opportunities to tidy up your code a little. Consider:
#!/usr/local/bin/perl use strict; use warnings; use diagnostics; my $path = 'C:/Users/Customer/Desktop/New folder/Perl/'; my $inName = '1dfre10.TXT'; my $outName = '1dfre10.OUT'; open my $in, '<', "$path$inName" or die "Can't open '$inName': $!\n"; my $all_text = lc do {local $/; <$in>}; my %freq; $all_text =~ s/[^a-z\-\']/ /g; ++$freq{$_} for split /[\n\s]+/, $all_text; open my $out, '>', "$path$outName" or die "Can't create '$outName': $! +\n"; print $out join "\n", reverse sort map {sprintf "%05d $_", $freq{$_}} +keys %freq;
Untested, but should provoke a little thought.
|
|---|