#!/usr/bin/perl use strict; my $exception; $exception->{a}{b}{c}{d} = 4; walk_hash( $exception ); sub walk_hash { my $arg = shift; foreach my $key ( keys %{ $arg } ) { my $value = $arg->{ $key }; if ( ref( $value ) eq 'HASH' ) { walk_hash( $value ); } else { print "\t$key : $value\n"; } } }