in reply to Re: Non-destructive array processing
in thread Non-destructive array processing

Nearly.
local *array = \@array;
This will work with lexically scoped variables too.

Makeshifts last the longest.

Replies are listed 'Best First'.
Re: Re^2: Non-destructive array processing
by ihb (Deacon) on Jan 22, 2003 at 19:09 UTC

    But what will simply alias the lexical @array with the dynamical @array. So I don't see what you've achieved by doing this.

    One problem with this that you probably didn't foresee is that lexicals are resolved before dynamic variables. Example:

    my @foo = 1..4; local *foo = ['a'..'d']; print @foo; # 1234
    The problem is solved through our() since that creates an aliased lexical:
    my @foo = 1..4; our @foo = 'a'..'d'; print @foo; # abcd

    ihb