On Sun, Aug 03, 2003 at 01:37:16AM +0200, Abigail wrote:
> I am fond of doing
>
> local %_ = @_;
>
> as one of the first statements of a subroutine. That, or
>
> my %args = @_;
>
> I like the latter because it uses a lexical variable, but I like the
> former because %_ fits with @_ and $_.
FWIW, local() is quite a bit slower than my().
$ perl5.8.1 local_vs_my 1000000
Rate local my
local 180180/s -- -30%
my 257069/s 43% --
$ cat local_vs_my
#!/usr/bin/perl -w
use Benchmark 'cmpthese';
cmpthese( shift || -3, {
local => sub { local %_ = @_; },
my => sub { my %args = @_; },
});
--
Welcome to the Office Of Naval Contemplation