Hello I am writing a Perl program to generate a word frequency count of a large text file. The error message is Name "main::OUT" used only once: possible typo at C:/Users/Customer/Desktop/New folder/Perl/zipf.pl line 5 (#1) (W once) Typographical errors often show up as unique variable names. If you had a good reason for having a unique name, then just mention it again somehow to suppress the message. The our declaration is provided for this purpose. NOTE: This warning detects symbols that have been used only once so $c, @c, %c, *c, &c, sub c{}, c(), and c (the filehandle or format) are considered the same; if a program uses $c only once but also uses any of the others it will not trigger this warning. The code is
#!/usr/local/bin/perl use diagnostics; use warnings; open(TEXT,"C:/Users/Customer/Desktop/New folder/Perl/1dfre10.TXT"); open(OUT, ">C:/Users/Customer/Desktop/New folder/Perl/1dfre10.OUT"); undef($/); $all_text= <TEXT>; $all_text = lc($all_text); $all_text =~ s/[^a-z\-\']/ /g; @wordarray = split(/[\n\s]+/, $all_text); foreach $thing (@wordarray) { $freq{$thing}++; } while((my $key, my $value) = each(%freq)) { $value = "00000" . $value; $value = substr($value,-5,5); push(@termarray, "$value $key"); } @finalarray = reverse (sort (@termarray)); print join ("\n", @finalarray); exit;
In reply to Code for generating a word frequency count not working by Pearl12345
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |