Another point: the typeglob technique works only if @array is a global (package) variable:
2:29 >perl -MData::Dump -wE "my @array = (10, 20); Double(*array); dd + @array; sub Double { local *copy = shift; for my $element (@copy) { +$element *= 2; } }" Name "main::array" used only once: possible typo at -e line 1. (10, 20) 2:29 >
The following code, using a reference instead of a typeglob, performs the equivalent operation, but is more flexible, as @array may be either a global or a lexical:
2:29 >perl -MData::Dump -wE "my @array = (10, 20); Double(\@array); d +d @array; sub Double { my $array_ref = shift; for my $element (@$arra +y_ref) { $element *= 2; } }" (20, 40) 2:30 >
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
In reply to Re: use of typeglob aliases
by Athanasius
in thread use of typeglob aliases
by fionbarr
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |