In a message dated 24 Sep 2002, Aaron Sherman writes:
> This is because push is
> almost certainly defined as:
>
>         sub push(@target, *@list) { ... }

That should be

  sub push(@target is rw, *@list);

but otherwise I think that's right.

Now, implementation in Perl 6 (though I assume it's actually written in
Parrot).  This would obviously work:

  sub push(@target is rw, *@list) {
      @target[@target.length ..
              @target.length + @list.length - 1] = @list;
  }

Now, how to do it more Perlishly?

  @target = *(@target, @list);

?  Or would that have to be

  @target = (*@target, *@list);

?  Surely

  @target = (@target, @list);

or

  @target = (*@target, @list);

would not work.  Or would it?

Trey



Reply via email to