use Data::Dumper; $joe = 1; $matt = 2; @colors = ('tan', 'silver', 'silver', 'green', 'black'); my (@colors2) = ('red', 'green', 'blue'); my ($symbols); for my $symname (sort keys %main::) { my ($shouldPrint) = 1; # ignore some data that we don't care about: %main::, %SIG, %Carp::, etc. next if $symname =~ /::$/ || $symname eq 'SIG'; if (defined @$symname) { $symbols .= "\@$symname:\n"; $symbols .= Dumper @$symname; } elsif (defined %$symname) { $symbols .= "\%$symname:\n"; $symbols .= Dumper %$symname; } elsif (defined $$symname) { $symbols .= "\$$symname: \"$$symname\"\n"; } elsif (defined &$symname) { $symbols .= "sub $symname\n"; } else { $symbols .= "unrecognized symbol: $symname\n"; } } print "\n==================\n$symbols\n==================\n";