Skriva till textfil med CGI

Perl & Ruby

3 svar · 199 visningar · startad av Webbmonstret

Medlem sedan nov. 200060 inlägg
Trådstart#1

Jag har modifierat en CGI-gästbok som fungerar utmärkt. Innehållet i gästboken läggs i en logg-fil. Nya inlägg hamnar först i filen.
Nu skulle jag vilja göra en modifikation till den nuvarande gästboken fast texten skall fogas in efter befintlig text i logg-filen.
Raderna i scriptet där texten fogas in ser ut så här:

open(GUESTLOG, ">$guest_log");
flock(GUESTLOG, 2);

print GUESTLOG "Hello World!";
...

Mellan <b>flock</b> och <b>print</b> skulle jag alltså vilja ha något som hoppar till slutet av filen!

Hjälp!

Medlem sedan juni 20001 521 inlägg
#2

Det räcker väl att öppna filen i append-läge?

open(GUESTLOG, ">>$guest_log");

Då hamnar allt nytt sist i filen.

Medlem sedan nov. 200060 inlägg
#3

Nja, det funkar sådär. Jag kanske har gjort fel jag är ju inte bäst på CGI direkt!

Felet är att den nu fyller på text efter de gamla. Bra! Men den klistrar även in den gamla efter. Första meddelandet som skrivs blir:
1. Första meddelandet.

Efter andra meddelandet står det:
1. Första meddelandet.
2. Andra meddelandet.
1. Första meddelandet.

Efter tredje meddelandet står det:
1. Första meddelandet.
2. Andra meddelandet.
1. Första meddelandet.
3. Tredje meddelandet.
1. Första meddelandet.
2. Andra meddelandet.
1. Första meddelandet.

*skriker*gaah och hjälp

Medlem sedan nov. 200060 inlägg
#4

Flåt!
Hittade en:

print GUESTLOG @FILE; 

lite längre ner i skriptet!

Nu funkar det! Men tack iaf!

*skrettar, dansar och ler*

852 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
715 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)