http://qs1969.pair.com?node_id=1175922


in reply to push to array without copying

There is one rather ugly trick for getting a reference to an array containing aliases:

my %hash = ( a => 1, b => 2, c => 3, d => 4 ); my $av = sub { \@_ }->( @hash{'d','b','c','a'} ); print "@$av\n";

But I'd likely go with BrowserUk's suggestion instead.

- tye        

Replies are listed 'Best First'.
Re^2: push to array without copying (\@_)
by LanX (Sage) on Nov 15, 2016 at 06:03 UTC
    > But I'd likely go with BrowserUk's suggestion instead

    True but since I can't find this "aliasing" documented in delete it has the disadvantage of an implementation detail.

    Though I don't expect it to be changed ever, since it's a safe performance gain.

    edit

    And more importantly the code wouldn't break if this was changed, only slow down.

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Je suis Charlie!