use strict;
use warnings;
use feature 'say';
for my $symname (sort keys %main::) {
local *sym = $main::{$symname};
say "\@$symname array is populated" if @{ *sym }; # <-- HERE
say "\%$symname hash is populated" if %{ *sym }; # <-- and HERE
}
####
%CORE:: hash is populated
%Carp:: hash is populated
%DB:: hash is populated
%DynaLoader:: hash is populated
%ENV hash is populated
@INC array is populated
%INC hash is populated
%IO:: hash is populated
%Internals:: hash is populated
%PerlIO:: hash is populated
%Regexp:: hash is populated
%Tie:: hash is populated
%UNIVERSAL:: hash is populated
%builtin:: hash is populated
%constant:: hash is populated
%feature:: hash is populated
%main:: hash is populated
%mro:: hash is populated
%re:: hash is populated
%strict:: hash is populated
%utf8:: hash is populated
%version:: hash is populated
%warnings:: hash is populated
####
use strict;
use warnings;
use feature 'say';
for my $symname (sort keys %main::) {
local *sym = $main::{$symname};
# Make a copy of the symtab entry
if (@{ *sym }) {
my @array = @{ *sym };
print "$_\n" for @array;
}
# Use the symtab entry directly
if (%{ *sym }) {
for my $key (keys %{ *sym }) {
print "$key: ${ *sym }{$key}\n";
}
}
}