in reply to Re^4: hash to count words
in thread hash to count words

Now that I have that under control, how do I print the output of the script to a file? I cannot figure it out. Thanks in advance and of course here is my coding.
#!/usr/bin/perl -w foreach $file (@ARGV) { open (IN, $file) or die "Cannot open file '$file' : $!\n"; while(<>) { $line = <IN>; @array = split (' ', $line); foreach $word (@array){ $word =~ s/[^\w\s]//g; $word = lc ($word); $wordcount{$word} += 1; } } foreach $key (keys %wordcount) { print "Word: $key " . ($wordcount{$key}) . "\n"; } } print ("scriptOutput\n\n");

Replies are listed 'Best First'.
Re^6: hash to count words
by AnomalousMonk (Archbishop) on Sep 17, 2012 at 19:52 UTC
    Now that I have that under control...

    If 'that' refers to the lack code tags in your OP, the situation is still out of control. A  <code> tag is closed by a  </code> tag, not by a  </c> tag. Please see Markup in the Monastery. Please check the effects of your changes.

    Printing to a file usually involves supplying an output file handle (see open) to the print statement. E.g.:
        my $filename = 'file.name';
        open my $fh_out, '>', $filename or die "opening '$filename': $!";
        my $something_to_output_to_file = your_process();
        print $fh_out "here is something for the file \n";
        print $fh_out $something_to_output_to_file;
        print $fh_out "that's all, folks! \n";
        close $fh_out or die "closing '$filename': $!";

    Please consider re-reading the answers you have been given in this and related threads. Please consider using lexical filehandles (as in the example given above). See also autodie.