Avatar billede amd Nybegynder
20. september 2005 - 01:36 Der er 14 kommentarer og
1 løsning

Skrive til fil?

Hej folkens...
Igang med noget perl sjov, på min apache server med active perl på XP, da jeg ikke kunne få perl til at virke på min linux maskine.
Og nu sidder jeg så og prøver at få skidtet til at skrive til text filer, ud fra en guide. Synes bare ikke det går skide godt :)

Scriptet melder bare fejl, og ud fra hva jeg kan se på webcafe's guide skulle det virke? CHMODs har jeg ladet mig fortælle ikke findes i windows ?

#!C:\perl\bin\perl.exe

open(UD,">>data.txt");


print UD "TEST HEHE\n";

close (UD);
Avatar billede erikjacobsen Ekspert
20. september 2005 - 07:48 #1
Du bør kunne få en bedre fejlbesked i din error-log i Apache.
Avatar billede mfalck Praktikant
20. september 2005 - 08:44 #2
jeg plejer at bruge FileHandle ala:
#!C:\perl\bin\perl.exe
use FileHandle;

my $logfile = new FileHandle(">>data.txt") or die ("fil fejl : $!");

print $fh "test hehe\n";
Avatar billede amd Nybegynder
20. september 2005 - 11:41 #3
[Fri Sep 23 11:40:54 2005] [error] [client 127.0.0.1] Premature end of script headers: c:/perl/html/site/apache/cgi-bin/add.pl
[Fri Sep 23 11:40:54 2005] [error] [client 127.0.0.1] Can't use an undefined value as a symbol reference at c:\perl\html\site\apache\cgi-bin\add.pl line 6.

[Fri Sep 23 11:41:16 2005] [error] [client 127.0.0.1] Premature end of script headers: c:/perl/html/site/apache/cgi-bin/add.pl


Er de seneste fejl i loggen... hmm... Og er også forsøgt med mfalck's kode nu :)
Avatar billede mfalck Praktikant
20. september 2005 - 12:00 #4
prøv at sætte "use strict" ind i din kode .. du har en fejl på linie 6.
Avatar billede mfalck Praktikant
20. september 2005 - 12:01 #5
som regel er det også nemmere at køre perl scriptet i "hånden" (dvs kommandolinie eller ved at klikke på det" ) før du kører det igennem webserveren.
Avatar billede amd Nybegynder
20. september 2005 - 13:03 #6
[Fri Sep 23 12:58:16 2005] [error] [client 127.0.0.1] Premature end of script headers: c:/perl/html/site/apache/cgi-bin/add.pl
[Fri Sep 23 12:58:16 2005] [error] [client 127.0.0.1] Global symbol "$fh" requires explicit package name at c:\perl\html\site\apache\cgi-bin\add.pl line 6.

[Fri Sep 23 12:58:16 2005] [error] [client 127.0.0.1] Execution of c:\perl\html\site\apache\cgi-bin\add.pl aborted due to compilation errors.


og koden ser således ud?

#!C:\perl\bin\perl.exe
use FileHandle;
use strict;
my $logfile = new FileHandle(">>data.txt") or die ("fil fejl : $!");

print $fh "test hehe\n";
Avatar billede erikjacobsen Ekspert
20. september 2005 - 13:05 #7
Mon ikke han mener:

my $fh = new FileHandle(">>data.txt") or die ("fil fejl : $!");
print $fh "test hehe\n";
Avatar billede mfalck Praktikant
20. september 2005 - 13:08 #8
jo sorry - det var en klippeklistre fejl at den hed noget andet :-)
Avatar billede amd Nybegynder
20. september 2005 - 13:11 #9
[Fri Sep 23 13:11:52 2005] [error] [client 127.0.0.1] Premature end of script headers: c:/perl/html/site/apache/cgi-bin/add.pl


Hedder fejlen efter jeg har rettet det :) det er ikk fordi jeg prøver at afvikle det i windows ?
Avatar billede mfalck Praktikant
20. september 2005 - 13:15 #10
well du skal have noget html-kode ud for at webserveren kan finde ud af det:

ala:

use CGI::Carp qw(fatalsToBrowser);
use CGI;
use FileHandle;
use strict;

my $query = new CGI;

print $query->header;
print $query->start_html('Hello World');
print "Hello, World.";

my $fh = new FileHandle(">>data.txt") or die ("fil fejl : $!");
print $fh "test hehe\n";

print $query->end_html;
exit 0;
Avatar billede erikjacobsen Ekspert
20. september 2005 - 13:16 #11
Ja, hvis du kører det via en webserver. Du skal selv skrive dine HTML_headers ud.
Mindst en Content-Type: text/plain  - eller lignende. Hvorfor afprøver du det ikke først på en kommandolinie.
Avatar billede amd Nybegynder
21. september 2005 - 21:39 #12
OK mange tak for hjælpem :)

Hvem vil ha points.?
Avatar billede erikjacobsen Ekspert
21. september 2005 - 21:41 #13
Ingen point til mig, tak.
Avatar billede amd Nybegynder
21. september 2005 - 21:43 #14
Okay... hva med dig mfalck?
Avatar billede mfalck Praktikant
21. september 2005 - 22:35 #15
jeps jeps
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester