in reply to Add and print the values in a hash

Is there any way to show the data in a tabular format without using "\n\t"?.
Yes, you can use printf or format
Is there any perl function that will sum all the values in a hash?
Not that I am aware of, but it's quite trivial to do that by adding an extra line to your loop above, eg:
$total_count += $dir_file_counts{$_};

Update: And here is an example using printf

#!/usr/bin/perl -w use strict; my %dir_file_counts = ( xbags => 416, apr => 28, apam => 1, asrs => 431, aast => 181, xpept => 8, xbank => 178, aprot => 28 ); my $total_count = 0; print "\n Total Number of files \n\n"; foreach(keys %dir_file_counts) { $total_count += $dir_file_counts{$_}; printf "%12s => %5s\n", $_, $dir_file_counts{$_}, } printf "%12s => %5s\n", "Grand Total", $total_count;

Cheers,
Darren :)

Replies are listed 'Best First'.
Re^2: Add and print the values in a hash
by strat (Canon) on Jan 31, 2006 at 09:30 UTC

    TheDamian suggests in his book "Perl Best Practices" to use Perl6::Form instead of the old perl forms. I haven't used Perl6::Form yet, but don't like the old forms either.

    Best regards,
    perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32"