sub additem{ my $item = shift; my $quant = shift; if(!(-e $custid)){ open INF, ">$custid" or die "Couldnt create cart file: $!\n"; print INF ''; close INF; } open INF, "products.db" or die "Couldnt open db:$!\n"; my @products = ; close INF; my ($itemno,$prod,$price,$desc); for(@products){ ($itemno,$prod,$price,$desc) = split(/\|/,$_); if($itemno == $item){ last; } } open CUSTCART, "$custid" or die "Couldnt read cart file: $!\n"; my @custchoices = ; close CUSTCART; for(@custchoices){ chomp; my($in,$pr,$pri,$de,$qu) = split(/\|/,$_); if($in == $item){ #this is the start of my problems **** $qu++; open INF, ">$custid" or die "Couldnt update quantity: $!\n"; print INF "$in|$pr|$pri|$de|$qu|\n"; foreach my $line(@custchoices){ if($item !~ /^$in/){ print INF $line; } } close INF; print "Location: $url=view\n\n"; } } open CUSTID, ">$custid" or die "Couldnt open personal cart: $!\n"; print CUSTID "$itemno|$prod|$price|$desc|$quant|\n"; print CUSTID @custchoices; close CUSTID or die "Couldnt close file: $!\n"; sleep(1); print "Location: $url=view\n\n"; }