Schrift
[thread]5819[/thread]

Vom elsif erschlagen....: Übersichtichere Möglichkeiten gesucht.



<< |< 1 2 >| >> 15 Einträge, 2 Seiten
Magic
 2003-10-14 14:26
#63266 #63266
User since
2003-09-30
91 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi,
ich habe in meinem Script am Anfang eine ausführliche(!) Auswahlmöglichkeit, was wann wo und wie passieren kann. Also if ( $a eq 'dieses'), elsif( $a eq 'jenes'), elsif( $a eq 'wasanderes')... und dann von des elsif&acute;sen halt um die 40.
Ihr könnt Euch etwa vorstellen, dass das auf Dauer nicht sonderlich übersichtlich bleibt.
Hat irgendjemand nen Vorschlag, wie man das etwas übersichtlicher implementieren kann?!

Gruss
Stefan\n\n

<!--EDIT|Magic|1066127197-->
Ein Weiser gibt nicht die richtigen Antworten, sondern er stellt die richtigen Fragen.
format_c
 2003-10-14 14:27
#63267 #63267
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
perldoc Switch

Gruß Alex
Magic
 2003-10-14 14:31
#63268 #63268
User since
2003-09-30
91 Artikel
BenutzerIn
[Homepage] [default_avatar]
Geht net :(
Ist dasn nen Extramodul?\n\n

<!--EDIT|Magic|1066127548-->
Ein Weiser gibt nicht die richtigen Antworten, sondern er stellt die richtigen Fragen.
Magic
 2003-10-14 14:35
#63269 #63269
User since
2003-09-30
91 Artikel
BenutzerIn
[Homepage] [default_avatar]
HALT! Schon OK, hab Dummfug geschwätzt.
Mit perldoc -q switch geht&acute;s!
Ein Weiser gibt nicht die richtigen Antworten, sondern er stellt die richtigen Fragen.
Strat
 2003-10-14 14:36
#63270 #63270
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
wiki: switch

oder:
Code: (dl )
1
2
3
4
5
6
7
8
my %hash = ( 20 => 'zwanzig', 30 => 'dreissig', 40 => 'vierzig', ....);
my $x = 20;
if (exists $hash{$x}) {
 $x = $hash{$x};
} # if
else {
 print "Kein Wert gefunden\n";
} # else
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
havi
 2003-10-14 14:42
#63271 #63271
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Die Lösung von format_c finde ich am besten!

Warum etwas immer wieder neu erfinden wenn es bereits ein fertiges Modul gibt das genau das macht ???

Gruss
Strat
 2003-10-14 14:43
#63272 #63272
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
btw: habe in wiki: switch mal einen Fehler behoben...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
havi
 2003-10-14 14:48
#63273 #63273
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
[quote=Strat,14.10.2003, 12:43]btw: habe in wiki: switch mal einen Fehler behoben...[/quote]
Sehr schön!

Ich bin halt imho der Meinung das man nichts doppelt erfinden sollte!

Allerdings ist das gerade bei Switch in Perl etwas anderes, da es Switch in Perl eben lange nicht gegeben hat...

Gruss
Magic
 2003-10-14 14:49
#63274 #63274
User since
2003-09-30
91 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hm..
das sind aber alles keine Lösungen, sobald man zwischendurch mal auf das Vorhandensein einer Variable prüfen muss.
z.B. wenn $a = "tuedies" ist, aber nur dann "tuedies" gemacht werden soll wenn $b = "machdasauch" ist. Also:
if ( $a eq "tue dies" && $b eq "machdasauch")...

Oder seh ich das falsch?

Gruss
Stefan
Ein Weiser gibt nicht die richtigen Antworten, sondern er stellt die richtigen Fragen.
format_c
 2003-10-14 14:58
#63275 #63275
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
OK dann wird schon wieder blöd.
Dann würde ich bei der if-elsif-else Anweisung bleiben da diese auch um einiges schneller ist als switch.

Gruß Alex
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2003-10-14 14:26.