Hallo,
folgenden mörderlangen Code würde ich gerne verkürzen mittels for-Schleife:
if ($inhalt[$init] =~ /&news_datum_1/) { @datum_1_string = split(/=/,$inhalt[$init]); $datum_1 = $datum_1_string[1];}
if ($inhalt[$init] =~ /&news_datum_2/) { @datum_2_string = split(/=/,$inhalt[$init]); $datum_2 = $datum_2_string[1];}
if ($inhalt[$init] =~ /&news_datum_3/) { @datum_3_string = split(/=/,$inhalt[$init]); $datum_3 = $datum_3_string[1];}
if ($inhalt[$init] =~ /&news_datum_4/) { @datum_4_string = split(/=/,$inhalt[$init]); $datum_4 = $datum_4_string[1];}
if ($inhalt[$init] =~ /&news_datum_5/) { @datum_5_string = split(/=/,$inhalt[$init]); $datum_5 = $datum_5_string[1];}
if ($inhalt[$init] =~ /&news_datum_6/) { @datum_6_string = split(/=/,$inhalt[$init]); $datum_6 = $datum_6_string[1];}
if ($inhalt[$init] =~ /&news_datum_7/) { @datum_7_string = split(/=/,$inhalt[$init]); $datum_7 = $datum_7_string[1];}
if ($inhalt[$init] =~ /&news_datum_8/) { @datum_8_string = split(/=/,$inhalt[$init]); $datum_8 = $datum_8_string[1];}
if ($inhalt[$init] =~ /&news_datum_9/) { @datum_9_string = split(/=/,$inhalt[$init]); $datum_9 = $datum_9_string[1];}
if ($inhalt[$init] =~ /&news_datum_10/) { @datum_10_string = split(/=/,$inhalt[$init]); $datum_10 = $datum_10_string[1];}
if ($inhalt[$init] =~ /&news_datum_11/) { @datum_11_string = split(/=/,$inhalt[$init]); $datum_11 = $datum_11_string[1];}
if ($inhalt[$init] =~ /&news_datum_12/) { @datum_12_string = split(/=/,$inhalt[$init]); $datum_12 = $datum_12_string[1];}
if ($inhalt[$init] =~ /&news_datum_13/) { @datum_13_string = split(/=/,$inhalt[$init]); $datum_13 = $datum_13_string[1];}
if ($inhalt[$init] =~ /&news_datum_14/) { @datum_14_string = split(/=/,$inhalt[$init]); $datum_14 = $datum_14_string[1];}
if ($inhalt[$init] =~ /&news_datum_15/) { @datum_15_string = split(/=/,$inhalt[$init]); $datum_15 = $datum_15_string[1];}
Die for-Schleife hatte ich mir dann so gedacht:
for ($init = 0; $init<=$#inhalt; $init++) {
for ($j = 1; $j <= 15; $j++) {
if ($inhalt[$init] =~ /&news_datum_$j/) {
@datum_$j_string = split(/=/,$inhalt[$init]);
$datum_$j = $datum_$j_string[1];}
}
}
Ich erhalte allerdings die Fehlermeldung:
Scalar found where operator expected mehrere Zeilen....
Wo ist der Denkfehler??????
Dank für Hilfe,
lempolis.