0 Replies - 640 Views - Last Post: 23 November 2014 - 02:20 PM

#1 program0025  Icon User is offline

  • D.I.C Head

Reputation: 0
  • View blog
  • Posts: 65
  • Joined: 21-May 14

Write Word Frequency To File

Posted 23 November 2014 - 02:20 PM

Hello I am writing a perl program that will count the frequency of words in a 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.

Here is the code
#!/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;

This post has been edited by macosxnerd101: 23 November 2014 - 02:48 PM
Reason for edit:: Please use a descriptive title


Is This A Good Question/Topic? 0
  • +

Page 1 of 1