Thread Ersatz für given (12 answers)
Opened by silver345 at 2014-01-31 14:40

silver345
 2014-01-31 14:40
#173326 #173326
User since
2011-06-07
16 Artikel
BenutzerIn
[default_avatar]
Hi,

ich nutze in einem Script folgende Sequenz:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
given ($site->{FILETYP}) {
when("package") { $logger->debug("no 2. run"); }
when("profile") { $logger->debug("2. run required!");
my $sp_ret = 0;
foreach my $cont (@contend) {
$sp_ret = storeContend($cont, $site->{OS}, \$logger);
if($sp_ret == 255) {
unshift(@wrongs, $cont); # store file in error array
}
}
}
when("host") { $logger->debug("no 2. run"); }
when("log") { $logger->debug("no 2. run"); }
}


Das funktioniert ziemlich gut (für mich). Bisher habe ich mit Perl v5.16.3 (stawberry perl) programmiert und das Script auch ausgeführt. Jetzt will ich dieses Script auf einen Rechner mit Perl v5.18.1 ausführen. Es funktioniert. Nur gibt es massenweise Warnungen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
given is experimental at private/PSubs.pm line 133.
when is experimental at private/PSubs.pm line 135.
when is experimental at private/PSubs.pm line 136.
when is experimental at private/PSubs.pm line 137.
when is experimental at private/PSubs.pm line 138.
given is experimental at private/PSubs.pm line 234.
when is experimental at private/PSubs.pm line 235.
when is experimental at private/PSubs.pm line 239.
when is experimental at private/PSubs.pm line 246.
when is experimental at private/PSubs.pm line 250.
given is experimental at ./check.pl line 360.
when is experimental at ./check.pl line 361.


Lt. Google soll die Zeile

Code: (dl )
no if $] >= 5.018, 'warnings', "experimental::smartmatch";


helfen. Tut sie aber nicht. Ich meine, das Script geht, es wäre nur eine Schönheitskorrektur. Meine Frage: Gibt es (außer ellenlangen if's und else's) eine Möglichkeit, dieses (quasi) select nachzubauen? Vielen Dank im Voraus. Ich habe mehrere Einträge gefunden, die explicite dieses Feature besprechen und schwärmen, daß es ab 5.10 verfügbar sein soll.

View full thread Ersatz für given