Struppi: zeile aus textfile entfernen oder ausschneiden

Beitrag lesen

so jetzt gehts ja doch
hier hab ich den neuen code,falls es jemand interessiert:

Delete an item from the cart

sub delete_item {
open (REFFILE,"$reffile")||error('cannot open cart file for read delete_item');;

Nach wie vor verstehe ich nicht, warum du nicht die Fehlermeldung ausgibst , auch wenn du 100% überzeugt bist das kein Fehler Auftritt, es wäre ein leichtes:
open (REFFILE,"$reffile")||error("cannot open cart file for read delete_item, reason: $!";;

my @LINES=<REFFILE>;
close(REFFILE);
my $SIZE=@LINES;
my $itemns = $FORM{'Video(s)'};
open (REFFILE,">$reffile")||error('cannot open cart file for write delete_item');;

wie gesagt man kann Dateien auch zum lesen und schreiben öffnen, es kann unter Umständen passieren, das zwischen close und open ein anderer Prozess zugreift und das führt zu Datenverlust.

for (my $i=1;$i<$SIZE;$i++) {
$_=$LINES[$i];
my($itemname, $itemprice, $itemquant) = split(/|/,$_);

foreach( @line)
{
my($itemname, $itemprice, $itemquant) = split(/|/,$_);

würde reichen.

if ($itemns eq $itemname) {

Do nothing

}
else { print REFFILE $_; }
}

print REFFILE $_ if $itemns ne $itemname;

würde reichen.

Struppi.