use 5.010; use strict; use warnings; use Data::Dumper; local $Data::Dumper::Purity = 1; local $Data::Dumper::Useqq = 1; for my $var (keys %main::) { my $glob = $main::{$var}; my $name = *$glob{NAME}; $name =~ s/([\x00-\x1f\x7f])/'^'.($1^'@')/eg; if ($name !~ /::$/) { do { my $ref = *$glob{SCALAR}; print Data::Dumper->Dump([ $$ref ], [ $name ]) if (defined $$ref); }; for my $part (qw/ARRAY HASH/) { my $ref = *$glob{$part}; print Data::Dumper->Dump([ $ref ], [ "*$name" ]) if (ref $ref); } } }