It's multidimensional in variables. An example line is:
$$columhash{'config'}{"config_names[$i]"}{'rowstates'}{$j} = substr($$options_lines[$j], $horizontal_offset + $i * 2, 1);If I want to immediately print the value, I can do:
print $$columhash{'config'}{"config_names[$i]"}{'rowstates'}{$j}; or print $$columhash{'config'}->{"config_names[$i]"}->{'rowstates'}{$j};For the foreach (still in the function), if I want what the config_names$ were, I can do:
foreach $key (sort keys $columnhash->('config')->%* )or
foreach $key (sort keys %{ $columnhash->('config') } )or even
foreach $key (sort keys %{ $$columnhash{'config'} } )but not
foreach $key (sort keys %$columnhash->('config')and more annoyingly, when I call the function with:
assign_columns_to_file( \@options_lines, $files{'options'}{'columns'} );It will keep 'options' as a subkey, but will not keep 'columns' used during the function (presumably because of passing an undef) So I figure to see if explicitly referencing it will work, but I can't use ->\%, I can only use \%{ } i.e.:
assign_columns_to_file( \@options_lines, \%{ $files{'options'}{'columns'} } ); Ultimately I end up having to use the surrounding referencing. I'm splitting things more into one-off functions, but I'll still end up with foreachs and \%{} running around everywhere.In reply to Re^4: 5.26 sigil reference syntax in subfunction
by chenhonkhonk
in thread 5.26 sigil reference syntax in subfunction
by chenhonkhonk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |