Leser: 15
for my $line index my $i (@lines)
2014-11-21T13:56:54 MuffiKann es sein, dass Perl langsam bei Features ins Hintertreffen wandert?
QuoteAndere Sprachen mögen nette Features haben, aber muss man sie deswegen gleich übernehmen? Da bleibt ja nix mehr zum Unterscheiden übrig. ;-)
for my $line index my $i (@lines)
1 2 3 4 5 6 7 8 9 10 11
use 5.012; sub foo { for my $elt (@_) { state $ctr++; say "$ctr/$elt"; } } foo qw(a b c); foo qw(d e f);
(5+9)->toString()
Math::Number->new(5+9)->toSting()
my @byLength = sort{ length($a) <=> length($b) } @Names;
my @byLength = from my $n, in @names, order_by { length($n) };
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
sub from(\$$$){ my ($ref,$list,$code)=@_; return sort{ $$ref = $a ; my $ra = $code->(); $$ref = $b ; my $rb = $code->(); no warnings; $ra <=> $rb or $ra cmp $rb }@$list; } sub in(\@) { return $_[0]; } sub order_by(\&) { return $_[0] }
sub Inc($self,$aIncBy > 0){ $self->{fValue}+=$aIncBy; ....}
if(0 < $x < 100) { ...
if(0 < $x and $x < 100) { ...
2014-11-22T11:43:24 topegMethods: (5 + 9).ToString;
Das Problem hierbei ist, das Perl im Perl5 im Kern nicht Objektorientiert arbeitet.
Sowas:geht halt nicht so einfach. Nur so was kann man machen:Code: (dl )(5+9)->toString()(oder wie man die Klasse nennen will) Das Hauptproblem ist, das Zahlen keine Referenzen sind (die blessed sind). Perl würde also das hier: (5+9)->toString() so interpretieren: 14->toString() Da würde also nach der Klasse "14" gesucht werden. Sicherlich könnte man da mit Autoload oder ähnlichem tricksen und eine Klasse dynamisch erzeugen die von "Math::Number" (oder so) erbt.Code (perl): (dl )Math::Number->new(5+9)->toSting()
2014-11-25T11:17:44 clms2014-11-25T10:31:37 Muffisprintf("%x",...)Naja, ein ToString ist wohl relativ uninteressant.
Bei to_hex() wirds schon interessanter.