http://qs1969.pair.com?node_id=1036582


in reply to printing hash produce errors

Your problem is that you're mixing up hashes (%hash) with hash references ({ key => value }) -- note the braces.

Replace the braces with parens and it should work:

my %hash = ('perl' => 1 , 'C' => 0) ;
This produces a flat list, not a hashref, which is exactly what assignment to a hash wants.

Alternatively you could use a hashref (= a scalar pointing to a hash) everywhere:

my $hash = {'perl' => 1 , 'C' => 0} ; foreach my $key(sort keys %$hash) { print "$key : $hash->{$key} \n" ; }

Replies are listed 'Best First'.
Re^2: printing hash produce errors
by Xfiles (Initiate) on Jun 02, 2013 at 12:22 UTC
    that's it , thanks .