in reply to use of typeglob aliases
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, |
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: use of typeglob aliases
by AnomalousMonk (Archbishop) on Sep 05, 2013 at 19:32 UTC |