in reply to alphabet counting

You are printing inside your loop.

You want to accumulate your values and then only print them after you are done.

As an aside, it would be more perlish if you were using a hash to accumulate your values... you could change all your ifs to a single line.

And it's probably not a good idea to call the filehandle IN when you are using it for output.

-sauoq
"My two cents aren't worth a dime.";

Replies are listed 'Best First'.
Re^2: alphabet counting
by Anonymous Monk on Jun 02, 2012 at 14:09 UTC

    i have problem with hash printing !!!

      i have problem with hash printing !!!

      You could guess that any such problems could be easily resolved... did you try something like this:

      print "$k => $h{$k}\n" for my $k (sort keys %h);
      ?

      -sauoq
      "My two cents aren't worth a dime.";

        Hmm...

        my %h = ( a => 1, b => 2, c => 3 ); print "$k => $h{$k}\n" for my $k (sort keys %h);

        Output:

        syntax error at D:\progs\perl\junk.pl line 5, near "$k (" Execution of D:\progs\perl\junk.pl aborted due to compilation errors.

        Maybe you meant something like:

        print "$_ => $h{$_}\n" for sort keys %h;

        Or the (no doubt) more newbie-friendly:

        for my $k ( sort keys %h ) { print "$k => $h{$k}\n"; };