in reply to printing Hash
You have a hash but you're trying to treat it as a hash of hashes ($hash{$key}{$_}).#!/usr/bin/perl use warnings; use strict; my %hash = ( one => 1, two => 2, ); for my $key (keys %hash) { if ($hash{$key} > 1 ){ print "$key - $hash{$key}\n"; } } print '-' x 20, "\n"; # or, using the magic variable $_ for (keys %hash) { if ($hash{$_} > 1 ){ print "$_ - $hash{$_}\n"; } } __DATA__ ---------- Capture Output ---------- > "C:\Perl\bin\perl.exe" _new.pl two - 2 -------------------- two - 2 > Terminated with exit code 0.
You're also trying to loop over the hash twice (the second for).
You also need a braces around your if block.
If you do indeed have a hash of hashes to loop over show us a sample of your data and we'll have a go at that too.
|
|---|