Skriver fel på filen

Perl & Ruby

3 svar · 390 visningar · startad av Asterix

Medlem sedan dec. 1999483 inlägg
Trådstart#1

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

Medlem sedan dec. 1999483 inlägg
#2

Jag löste det själv!

Medlem sedan feb. 20001 270 inlägg
#3

Vad var felet!?

Medlem sedan dec. 1999483 inlägg
#4

Jag skrev \n på ett annat ställe så blev det rätt

625 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
339 ms — deklarationer (db)
137 ms — hämta statistik (db)
146 ms — hämta tråd, inlägg och bilagor (db)
268 ms — ändringar (db)