in reply to accessing an array with multiple hashes

In the years since I've written this, UNIVERSAL::isa has been written. Use that instead.


You might consider something along the lines of this explode() function. It finds the lowest level values and returns that as a list. This probably doesn't get to exactly what you want but its a starter idea for you anyway.

use UNIVERSAL 'isa'; sub explode { map ref $_ ? explode( isa( $_, 'HASH' ) ? keys %$_ : isa( $_, 'ARRAY' ) ? @$_ : isa( $_, 'CODE' ) ? $_->() : isa( $_, 'SCALAR' ) ? $$_ : isa( $_, 'REF' ) ? $$_ : $_ ) : $_, @_; }