in reply to Re^2: non aliased default var $_
in thread non aliased default var $_
> my @bla = @arr; tr/h//d for @bla;already mentioned in the OP
Sorry. I missed that. But then, that makes me wonder why you are seeking an alternative to it?
From my perspective, it's a no brainer. On my system, the first alternative runs in 1/64th of the time and uses half the memory to your double map solution;
C:\test>perl -MTime::HiRes=time -wE"my @a= 0..1e6; my $t= time;my @bla= @a; tr[0][]d for @bla; say tim +e-$t; <>" 0.488373041152954 C:\test>perl -MTime::HiRes=time -wE"my @a= 0..1e6;my $t= time;my @bla= map{tr/h//d; $_}map{$_} @a;say +time-$t; <>" 32.5820000171661
I realise that you may not work with million element arrays very often, but getting into good habits will save you grief when you are. And it just so much clearer.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: non aliased default var $_
by LanX (Saint) on Mar 10, 2010 at 13:26 UTC | |
by BrowserUk (Patriarch) on Mar 10, 2010 at 13:46 UTC |