Fehler... aber wo?
Rob
- perl
hallo zusammen
ich habe da so ein skript geschrieben... leider kam heraus, das folgende Phrase nicht ganz korrekt ist.
if($uebergeben[1] =~ /^movetoend$/)
{
open(DATEN,"aufgaben.txt");
@Daten = <DATEN>;
close(DATEN);
chomp(@Daten);
open(DATEN,">aufgaben.txt");
$satz = -1;
for($i = 0; $i < @Daten; $i++)
{
if($Daten[$i] =~ /^#0$/ && $satz = -1)
{
$satz = $i;
$i+=2;
}
else
{
print DATEN "$Daten[$i]\n";
}
}
if($satz != -1)
{
for($z=$satz;$z<$satz+3;$z++)
{
print DATEN "$Daten[$z]\n";
}
}
close(DATEN);
}
weiss jemand warum? finde es nicht, oder ich seh den wald vor lauter bäumen nicht mehr ...
greeze un dmerci rob
hallo zusammen
Tach,
ich habe da so ein skript geschrieben... leider kam heraus, das folgende Phrase nicht ganz korrekt ist.
if($uebergeben[1] =~ /^movetoend$/)
{
open(DATEN,"aufgaben.txt");
@Daten = <DATEN>;
close(DATEN);
chomp(@Daten);
open(DATEN,">aufgaben.txt");
$satz = -1;
for($i = 0; $i < @Daten; $i++)
{
if($Daten[$i] =~ /^#0$/ && $satz = -1)
{
$satz = $i;
$i+=2;
}
else
{
print DATEN "$Daten[$i]\n";
}
}
if($satz != -1)
{
for($z=$satz;$z<$satz+3;$z++)
{
print DATEN "$Daten[$z]\n";
}
}
close(DATEN);
}
weiss jemand warum? finde es nicht, oder ich seh den wald vor lauter bäumen nicht mehr ...
Nein, wie sollen wir wissen, was nicht korrekt ist, wenn Du uns nicht sagst, was das script überhaupt tun soll?
Oder gibt es irgendwelche Fehlermeldungen?
Offensichtlich nicht, denn Du hast keine erwähnt.
Andreas
Nein, wie sollen wir wissen, was nicht korrekt ist, wenn Du uns nicht sagst, was das script überhaupt tun soll?
Oder gibt es irgendwelche Fehlermeldungen?
Offensichtlich nicht, denn Du hast keine erwähnt.
es gibt einen internel server error... das skript ansich sollte glaube ich schon einigermassen funktionieren, aber wollte fragen, ob ihr irgend einen syntax- fehler findet....
merci
rob
Nein, wie sollen wir wissen, was nicht korrekt ist, wenn Du uns nicht sagst, was das script überhaupt tun soll?
Oder gibt es irgendwelche Fehlermeldungen?
Offensichtlich nicht, denn Du hast keine erwähnt.
es gibt einen internel server error... das skript ansich sollte glaube ich schon einigermassen funktionieren, aber wollte fragen, ob ihr irgend einen syntax- fehler findet....
und was steht dann im error.log des Webservers?
merci
rob
Nein, wie sollen wir wissen, was nicht korrekt ist, wenn Du uns nicht sagst, was das script überhaupt tun soll?
Oder gibt es irgendwelche Fehlermeldungen?
Offensichtlich nicht, denn Du hast keine erwähnt.
es gibt einen internel server error... das skript ansich sollte glaube ich schon einigermassen funktionieren, aber wollte fragen, ob ihr irgend einen syntax- fehler findet....
und was steht dann im error.log des Webservers?
hi,
wahrscheinlich steht das:
Found = in conditional, should be == at ./xx.pl line 15.
Can't modify logical and (&&) in scalar assignment at ./xx.pl line 16, near "1)
"
Execution of ./xx.pl aborted due to compilation errors.
ist ja nur eine vermutung. und die lösung ist auch schon parat ;-)
grüssle
bjoern
hi,
if($uebergeben[1] =~ /^movetoend$/)
{
open(DATEN,"aufgaben.txt");
@Daten = <DATEN>;
close(DATEN);
chomp(@Daten);
open(DATEN,">aufgaben.txt");
$satz = -1;
for($i = 0; $i < @Daten; $i++)
{
if($Daten[$i] =~ /^#0$/ && $satz = -1)
{
$satz = $i;
$i+=2;
}
else
{
print DATEN "$Daten[$i]\n";
es könnte daran liegen. lieber:
print DATEN $Daten[$i]."\n";
}
}
if($satz != -1)
{
for($z=$satz;$z<$satz+3;$z++)
{
print DATEN "$Daten[$z]\n";
hier natürlich gleich.
}
}
close(DATEN);
}
weiss jemand warum? finde es nicht, oder ich seh den wald vor lauter bäumen nicht mehr ...
naja. Andreas hat schon recht: die Fehlermeldung würde weiterhelfen.
gruss
bjoern
tag nochmal,
hab's gefunden.
if($uebergeben[1] =~ /^movetoend$/)
{
open(DATEN,"aufgaben.txt");
@Daten = <DATEN>;
close(DATEN);
chomp(@Daten);
open(DATEN,">aufgaben.txt");
$satz = -1;
for($i = 0; $i < @Daten; $i++)
{
if($Daten[$i] =~ /^#0$/ && $satz = -1)
machst du hier besser:
if($Daten[$i] =~ /^#0$/ && $satz eq -1)
{
$satz = $i;
$i+=2;
}
else
{
print DATEN "$Daten[$i]\n";
es könnte daran liegen. lieber:
print DATEN $Daten[$i]."\n";
}
}
if($satz != -1)
{
for($z=$satz;$z<$satz+3;$z++)
{
print DATEN "$Daten[$z]\n";
hier natürlich gleich.
}
}
close(DATEN);
}
weiss jemand warum? finde es nicht, oder ich seh den wald vor lauter bäumen nicht mehr ...
naja. Andreas hat schon recht: die Fehlermeldung würde weiterhelfen.
gruss
bjoern
ups. t'schuldigung. da war doch ein fehler in der korrektur.
if($uebergeben[1] =~ /^movetoend$/)
{
open(DATEN,"aufgaben.txt");
@Daten = <DATEN>;
close(DATEN);
chomp(@Daten);
open(DATEN,">aufgaben.txt");
$satz = -1;
for($i = 0; $i < @Daten; $i++)
{
if($Daten[$i] =~ /^#0$/ && $satz = -1)
machst du hier besser:
if($Daten[$i] =~ /^#0$/ && $satz == -1)
oder:
if($Daten[$i] =~ /^#0$/ && $satz eq "-1")
{
$satz = $i;
$i+=2;
}
else
{
print DATEN "$Daten[$i]\n";
es könnte daran liegen. lieber:
print DATEN $Daten[$i]."\n";
}
}
if($satz != -1)
{
for($z=$satz;$z<$satz+3;$z++)
{
print DATEN "$Daten[$z]\n";
hier natürlich gleich.
}
}
close(DATEN);
}
weiss jemand warum? finde es nicht, oder ich seh den wald vor lauter bäumen nicht mehr ...
naja. Andreas hat schon recht: die Fehlermeldung würde weiterhelfen.
gruss
bjoern
hallo zusammen
if($uebergeben[1] =~ /^movetoend$/)
{
open(DATEN,"aufgaben.txt");
@Daten = <DATEN>;
close(DATEN);
chomp(@Daten);
open(DATEN,">aufgaben.txt");
$satz = -1;
for($i = 0; $i < @Daten; $i++)
{
if($Daten[$i] =~ /^#0$/ && $satz = -1)
hab es hier nun mit == anstatt = versucht, und oh wunder ;-) es hat geklappt...
{
$satz = $i;
$i+=2;
}
else
{
print DATEN "$Daten[$i]\n";
}
}
if($satz != -1)
{
for($z=$satz;$z<$satz+3;$z++)
{
print DATEN "$Daten[$z]\n";
}
}
close(DATEN);
}
merci vilmol für eure hilfe
grüsse
rob
Hi,
if($uebergeben[1] =~ /^movetoend$/)
wenn Du mit einer konstanten Zeichenkette vergleichen willst,
dann ist der Einsatz von regular expressions Overkill.
if($Daten[$i] =~ /^#0$/ && $satz = -1)
hab es hier nun mit == anstatt = versucht, und oh wunder ;-)
es hat geklappt...
sehnsewohl, ein Vergleich ist halt doch etwas anderes als eine
Zuweisung.
Viele Grüße
Michael
Hallo auch,
ich muss jetzt auch noch meinen Senf dazu geben:
for($i = 0; $i < @Daten; $i++)
hm. fragwürdig. schreib lieber:
for($i = 0; $i < $#Daten; $i++)
Gruss,
nose.
hallo zusammen
ich habe da so ein skript geschrieben... leider kam heraus, das folgende Phrase nicht ganz korrekt ist.
if($uebergeben[1] =~ /^movetoend$/)
{
open(DATEN,"aufgaben.txt");
@Daten = <DATEN>;
close(DATEN);
chomp(@Daten);
open(DATEN,">aufgaben.txt");
$satz = -1;
for($i = 0; $i < @Daten; $i++)
{
if($Daten[$i] =~ /^#0$/ && $satz = -1)
{
$satz = $i;
$i+=2;
}
else
{
print DATEN "$Daten[$i]\n";
}
}
if($satz != -1)
{
for($z=$satz;$z<$satz+3;$z++)
{
print DATEN "$Daten[$z]\n";
}
}
close(DATEN);
}
weiss jemand warum? finde es nicht, oder ich seh den wald vor lauter bäumen nicht mehr ...
greeze un dmerci rob