in reply to Re^2: new keyword "size" to avoid scalar trap ? ( scalar @array != scalar(LIST) )
in thread new keyword "size" to avoid scalar trap ? ( scalar @array != scalar(LIST) )

It is most probably the copying of the argument list (the full array) in the function call that takes this time difference.

Passing a reference to the array would probably solve the issue, but the syntax would become less obvious to use.

  • Comment on Re^3: new keyword "size" to avoid scalar trap ? ( scalar @array != scalar(LIST) )

Replies are listed 'Best First'.
Re^4: new keyword "size" to avoid scalar trap ? ( scalar @array != scalar(LIST) )
by Anonymous Monk on Dec 08, 2012 at 16:02 UTC
    No copying takes place :) however the same amount of scalars is aliased ;)
Re^4: new keyword "size" to avoid scalar trap ? ( scalar @array != scalar(LIST) )
by LanX (Saint) on Dec 08, 2012 at 17:34 UTC
    Thats why we need prototypes or a special C-implementaton.

    according to the perlsub sub size (+;@) { } could be used, to call

     size @array

    or

     size 1,2,3

    but since I'm using 5.10, I can't test it...

    Cheers Rolf