Vad är det för fel på följande kod? Jag kan inte hitta några fel men när den skriver den sista strängen till filen så skrivs den inte på en ny rad utan forsätter på den raden som man skrivit innan.
print WRITE "$FORM{'linkpath'};$FORM{'linkname'}\n";
Hela koden ser ut så här:
#!/usr/bin/perl
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
print "Content-type:text/html\n\n";
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/</\<\;/g;
$value =~ s/>/\<\;/g;
$FORM{$name} = $value;
}
$data = $FORM{'namn'};
open(DATA, $data);
@lines = <DATA>;
close(DATA);
open(WRITE,">$data");
print WRITE "@lines[0]\n";
print "$buffer<br>";
print "@lines[0]<br>";
$nr = 0;
foreach $line (@lines) {
$nr++;
if ($nr ne "1") {
if ($FORM{$nr} ne "on") {
print WRITE "$line\n";
print "$line<br>";
}
}
}
if ($FORM{'linkname'} ne "") {
print WRITE "$FORM{'linkpath'};$FORM{'linkname'}\n";
print "$FORM{'linkpath'};$FORM{'linkname'}";
}
close(WRITE);
För att kolla på sidan där skriptet finns gå till http://www.settlers.org/staff/emil/xlinks och logga in med Demo och demo, välj sedan edit links
------------------
/Emil Hesslow
[Redigerat av Asterix den 14 apr 2000]