Schrift
[thread]6162[/thread]

Wie kann man dies eleganter schreiben?: Einem Satz scalars die Kommas klauen.



<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten
DemoFreak
 2004-03-26 01:46
#81236 #81236
User since
2003-09-06
54 Artikel
BenutzerIn
[default_avatar]
Tja, wie also? ;)

Code: (dl )
1
2
3
4
5
6
7
my ($a, $b, $c, $d, $e, $f, $g, $h) = splice(@array, 0, 8);
$b =~ s/\.//g;
$c =~ s/\.//g;
$d =~ s/\.//g;
$e =~ s/\.//g;
$f =~ s/\.//g;
$g =~ s/\.//g;
Gruss, Hannes
format_c
 2004-03-26 01:52
#81237 #81237
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Code: (dl )
1
2
my @list[0..7] = splice(@array,0,8);
map { s/\.//g } @list;

So vielleicht?

Gruß alex
DemoFreak
 2004-03-26 01:57
#81238 #81238
User since
2003-09-06
54 Artikel
BenutzerIn
[default_avatar]
Nee, eben leider nicht, weil ich nur $b..$g von $a..$h bearbeiten will. :)

An map hab ich gleich mal gar nicht gedacht. *grml*
War da aber nicht was von wegen "kein map im void-Kontext verwenden"?
Gruss, Hannes
esskar
 2004-03-26 02:10
#81239 #81239
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
my @list = splice(@array,0,8);
map { s/\.//g } @list[1..6];


???\n\n

<!--EDIT|esskar|1080259932-->
DemoFreak
 2004-03-26 02:16
#81240 #81240
User since
2003-09-06
54 Artikel
BenutzerIn
[default_avatar]
Es ist spät. :rock: :(

Danke. :)
Gruss, Hannes
Crian
 2004-03-26 02:40
#81241 #81241
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
[quote=DemoFreak,26.03.2004, 00:57]War da aber nicht was von wegen "kein map im void-Kontext verwenden"?[/quote]
Ja war, nimm for statt map.\n\n

<!--EDIT|Crian|1080262524-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
format_c
 2004-03-26 08:50
#81242 #81242
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
[quote=DemoFreak,26.03.2004, 00:57]War da aber nicht was von wegen "kein map im void-Kontext verwenden"?[/quote]
Musst du ja nicht. Kannst es ja auch einfach im Listenkontext benutzen.

Gruß Alex
Strat
 2004-03-26 12:24
#81243 #81243
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
map-in-void-kontext wird wohl bei zukuenftigen perl-versionen nicht mehr funktionieren, weil es vom parser wegoptimiert wird... und haesslich ist es obendrein...

Man kann jedoch gut ausnutzen, dass (auch) bei for(each) die Laufvariable (in diesem Fall $_) ein Alias auf eine Variable ist:
Code: (dl )
1
2
3
4
my ($a, $b, $c, $d, $e, $f, $g, $h) = splice(@array, 0, 8);
foreach ($b, $c, $d, $e, $f, $g) {
 s/\.//g;
}
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
DemoFreak
 2004-03-26 12:27
#81244 #81244
User since
2003-09-06
54 Artikel
BenutzerIn
[default_avatar]
Oha. Das ist natürlich am allerhübschesten. :)
Gruss, Hannes
ptk
 2004-03-26 12:29
#81245 #81245
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=Strat,26.Mar..2004, 11:24]map-in-void-kontext wird wohl bei zukuenftigen perl-versionen nicht mehr funktionieren, weil es vom parser wegoptimiert wird... und haesslich ist es obendrein...[/quote]
Meinst du mit "zukuenftig" perl6? Fuer perl5 wird es auf jeden Fall *immer* funktionieren.
<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten



View all threads created 2004-03-26 01:46.