hi!
foreach my $wert(@werte) {
if ($wert =~ /$zahl(1-6)/) {
### mach dies und das
}
else {
### mach das und jenes
}
}
Wird hier zuerst der $wert mit den Zahlen1-6 verglichen, bevor die
foreach Schleife weitermacht, oder wird der $wert mit Zahl1
verglichen, dann macht das Script weiter und vergleicht $wert (2)
mit Zahl2 ?
Ich kann nicht behaupten, dass ich die Frage völlig verstanden habe.
Zuerst einmal wird $wert nacheinander mit jedem Wert aus @werte
belegt. Diesen Wert behält es dann für den kompletten Durchlauf der
Schleife, also hier der äußeren geschweiften Klammern.
Die if-Anweisung wird für jeden Wert genau einmal ausgeführt. Und
für jeden Wert wird die Bedingung innerhalb der runden Klammern
überprüft.
Die Überprüfung ist hier ein regulärer Ausdruck. Und zwar wird hier
überprüft, ob $wert an irgendeiner Stelle mit dem Inhalt von $zahl
übereinstimmt und danach der String "1-6" folgt. Runde Klammern in
regulären Ausdrücken dienen zum Gruppieren.
Und mit diesem Grundwissen kannst du ja jetzt nochmal versuchen,
deine Frage verständlich zu formulieren... :)
bye, Frank!