Hi chinamox,

To follow up on what davorg is saying, make sure you pass %hash to Data::Dumper rather than $hash.

You should get in the habit of passing things to Data::Dumper by reference, as well (ie. as \%hash):

#!/usr/bin/perl -w + use strict; use warnings; use Data::Dumper; + my %hash; my ($w1, $w2, $w3) = ("blue", "marbles", "lottery"); my $count = 17; my $tot_counts = 42; + $hash{$w1}{$w2} = { total_counts => $tot_counts, words => { $w3 => $count } }; + # Use the reference of the hash (\%hash) rather than # just the hash values (%hash). # print Dumper(\%hash); __END__ == Output == $VAR1 = { 'blue' => { 'marbles' => { 'total_counts' => 42, 'words' => { 'lottery' => 17 } } } };

And as davorg also alluded to, if you had put use strict at the beginning of your program, you could have caught the error already.

Try running the following program, and then run it without "use strict" and "use warnings":

#!/usr/bin/perl -w + use strict; use warnings; use Data::Dumper; + my %hash = ( 'test', 'program' ); print Dumper($hash); # Error: should be \%hash + __END__ == Output == Global symbol "$hash" requires explicit package name at hash_test line + 8.

s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/

In reply to Re: Using Data::Dumper with a HoH by liverpole
in thread Using Data::Dumper with a HoH by chinamox

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.