naja...kenn ich hab ich auch schon zu tun gehabt.
open (REFFILE,"$reffile")||error('cannot open cart ');
Ich weißß nicht ob dir das schon erzählt wurde. In $! steht warum das öffent scheitert, das kann u.U. nützlich sein.
ja es öffnet 100%
100% gibt es nicht, und schon gar nicht bei einer CGI Anwendung.
my $items = $FORM{'Video(s)'};#wird vom formular geschickt
Du arbeitest immer noch nicht mit CGI.pm?
Du bist sicher das in dem Eintrag ein Wert steht?ja!auch schon probiert mit print "$items...
Ich meine - immer?
Du prüfst in einem CGI Programm nicht einen Wert der eingeben werden kann, das kann zu einem Fehlerhaften verhalten führen.
my($itemname, $itemprice, $itemquant) = split(/|/,$_);
Was ist den $_ hier an dieser stelle?
sollten die daten sein die in der textfile stehen.
ist es aber nicht.
foreach (@lines)
Weiter oben bist du bereits alle Einträge durch gegangen (while <REFILE>) und jetzt nochmal?
while seh ich nicht :)
Mein fehler.
{
push (@newlines,$_) if ($_ !~ /^$items|/i);
my $newfile = join("|",@newlines);Was hier passiert ist völlig wirr.
eben wirrt mich auch etwas...
ich möchte nach einer zeile suchen und löschen wenn sie existiert,
fertig mehr nicht.Wenn in der aktuellen Zeile $items vorkommt, dann push es auf das array. Dann wird das Array mit den Zeichen '|' zusammengefügt und einer lokal gültigen Variabel zugewiesen.
}
und daraus läßt sich vermuten, dass du auch nicht mit use strict arbeitest, dann wäre das gar nicht möglich, denn $newline ist undefiniert.
doch my $newfile = join("|",@newlines);
Aber nur inerhalb von { ... } my deklariert eine Variabel innerhalb eines Blocks, danach existiert sie nicht mehr.
Insofern glaub ich auch nicht das das Beispiel strict war:
Probier das mal aus:
use strict;
{
my $test = '';
}
print $text;
Es läuft nicht.
Struppi.