Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Hash to count characters

by nvivek (Vicar)
on Aug 12, 2010 at 03:27 UTC ( #854564=note: print w/replies, xml ) Need Help??

in reply to Hash to count characters

Your first attempt is correct but you need to change the @line_char to @line_words because you split the line and store all the characters into @line_words array only @line_char.One more suggestion whenever you do program, use the following in your code.
use strict; use warnings;
Both the modules help you to correct the problems in your program.If you use any scalar, array or hash without declaration,it will warn you.

Replies are listed 'Best First'.
Re^2: Hash to count characters
by amittleider (Initiate) on Aug 12, 2010 at 05:46 UTC
    Thanks a lot for your responses! nvivek's post worked, however, there is just one slight bug. This will produce an output that includes spaces and newline characters, which are unwanted. I tried to change the regex to /\w+/, because this says that there will be only alphanumeric strings plus underscores, but this produces an empty output. I just don't understand why it would produce characters with a // regex, but nothing with /\w+/


      Regarding the unwanted items in your report: There are three general ways to approach it:

      1. Remove unwanted characters before counting,
      2. Delete them after counting but before reporting, or
      3. Delete or ignore them during the report.

      Each method has situations where it is better than the others, but frequently any of them are good enough. Examples:

      # Case 1: don't count unwanted characters for my $char(@letters) { ++$charCount{$char} if $char !~ /[a-zA-Z]/; } # Case 2: delete unwanted characters my %t = %charCount; $t{$_}=$charCount{$_} for grep {/[a-zA-Z]/} keys %charCount; %charCount=%t; # Case 3: ignore unwanted items during report for my $char (sort keys %charCount) { next unless $char =~ /[a-zA-Z]/; # print report entry }


Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://854564]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (4)
As of 2023-01-30 11:40 GMT
Find Nodes?
    Voting Booth?

    No recent polls found