Can't use an undefined value as a HASH reference
You're trying to reach a variable via a type glob in the symbol table, yet the variable in question isn't in the symbol table. It's a lexical (my) variable.
How can I use a type glob to get at the hash's values?
Implicitly, if the glob is in the symbol table:
my %h1 = qw{a 1 b 2}; *h2 = \%h1; # Create and initialise glob print %h2, "\n"; # Access hash referenced by glob
Explicitly, if the glob is in the symbol table:
my %h1 = qw{a 1 b 2}; *h2 = \%h1; # Create and initialise glob print %{*h2}, "\n"; # Access hash referenced by glob
Indirectly, if the glob is in the symbol table:
my %h1 = qw{a 1 b 2}; my $glob = *h2; # Create glob *$glob = \%h1; # Initialise glob print %$glob, "\n"; # Access hash referenced by glob
Indirectly, if the glob is outside the symbol table:
sub new_glob { return local *X } my %h = qw{a 1 b 2}; my $glob = new_glob(); # Create glob *$glob = \%h; # Initialise glob print %$glob, "\n"; # Access hash referenced by glob
I am trying to use a type glob to access values in a hash.
Why?
In reply to Re: type glob
by ikegami
in thread type glob
by 7stud
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |