Leser: 23
$foo =~ s/ +$//;
$test[$_] =~ s/ +$// for 0..@test-1;
$_ =~ s/ +$// for @test;
s/\s+$// for @test;
QuoteDachte da an etwas mehr kryptisches perliges vielleicht mit map oder so was.
2009-11-11T11:20:45 RPerlWieso willst du deinen code absichtlich extra kryptisch schreiben?!
Gwen's Loesung ist vmtl. der Beste Kompromiss.
2009-11-11T11:28:27 bianca2009-11-11T11:20:45 RPerlWieso willst du deinen code absichtlich extra kryptisch schreiben?!
Gwen's Loesung ist vmtl. der Beste Kompromiss.
Ich find das manchmal einfach geil, wenn man den Code bis nah an die Unlesbarkeit verstümmelt. Aber hast natürlich Recht, darum geht es nicht in erster Linie.
QuoteWenn die for Schleife die schnellste Methode ist, bin ich dankbar und mach das so.
@array = map{ s/ +$// } @array;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
use strict; use warnings; use Benchmark qw(:all); my $n = $ARGV[0]; die "$n NaN" if $n ne int $n or $n <= 0; our @for = ("test ") x $n; our @map = @for; cmpthese ( $n, { 'for' => 's/ +$// for @for;', 'map' => '@map = map{ s/ +$//; $_ } @map;', } );
2009-11-11T13:07:53 biancaKann gerade mit der Ergebnisausgabe nichts anfangen.
Was ist jetzt schneller?
2009-11-11T13:10:04 RPerlweil map nicht im void kontext steht.
(danke an moritz :))
2009-11-11T13:11:51 renee
<persönlicheMeinung>map im void Kontext finde ich fürchterlich</persönlicheMeinung>
@map = map{ s/ +$//; $_ } @map;
map{ s/ +$//; $_ } @map;
map s/ +$//, @map;
s/ +$// for @map;