# Assuming your outside hash is named %h, print $h{main_data}[1]{AMOUNT} . "\n"; #### for (map {@$_} values %h){ print "Account " . $_->{ACCOUNT} . " AMOUNT: " if exists $_->{ACCOUNT}; next unless exists $_->{AMOUNT}; print $_->{AMOUNT} . "\n"; } # --- Output --- # Account 6510334 AMOUNT: 200.00 # Account 6510334 AMOUNT: 0.00