[perl] file handling werkt niet

Pagina: 1
Acties:

  • TheFreak2002
  • Registratie: Mei 2002
  • Laatst online: 08-07 20:58
Hallo,

Ik ben mij pas in het verdiepen in de taal Perl, omdat ik het wil gebruiken op het internet bij het verwerken van forms etc....Maar zelfs het simpelste scriptje krijg ik niet gerunt op mijn webserver, Ik heb al via google.com diverse tutorils afgezocht maar ik kan het foutje dat ik maak niet vinden.....terwijl het echt wel iets kleins moet zijn.....dus daarom post ik hier......

Ik heb in de cgi-bin directory van mijn website het bestand test.pl staan en het bestand a.txt...Nu wil ik als ik test.pl via de browser aanroep dat het script wat tekst in het bestandje a.txt print maar dat werkt niet....want iedere keer als ik het script aanroept krijg ik een witte pagina maar er wordt niets geprint.....Mijn script ziet er zo uit:

#!/usr/bin/perl

print "Content-type: text/html\n\n";

open(PEOPLE, ">>a.txt") ;
print PEOPLE "bla bla bla" ;
Close (PEOPLE);

Nou als ik dit aanroep krijg ik een witte pagina, verder gebeurt er niks......en wordt er ook geen bllab bla bla aan de file toegevoegd.......Als ik het zonder
print "Content-type: text/html\n\n"; doe dan krijg ik een foutmelding dat het script geen volledige http headers aangeeft........

Ik denk echt dat de syntax goed is maar het werkt gewoon niet.........

help me aub!!!

PS: De file security staat gewoon goed ik kan gewoon in mijn files writen

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-08 18:36
Hm, spreekt het niet voor zich dat je niks te zien krijgt als je niks afdrukt in je script?

Verwijderd

als je dat open nou eens vervangt door:
open(PEOPLE, ">>a.txt") || die $!;

dan zie je vanzelf waar het aan ligt :)

en daarnaast: jij kan naar je files writen...... maar dat kan ook als a.txt op rechten 600 staat. Bedoel te zeggen: wil niet zeggen dat als jij kan schrijven dat het script het ook kan :)

  • TheFreak2002
  • Registratie: Mei 2002
  • Laatst online: 08-07 20:58
Ericston schreef op 25 september 2002 @ 14:31:
Hm, spreekt het niet voor zich dat je niks te zien krijgt als je niks afdrukt in je script?
ik hoef ook niets te zien, als dat printen naar die file maar lukt, maar dat lukt ook niet.........

  • TheFreak2002
  • Registratie: Mei 2002
  • Laatst online: 08-07 20:58
Verwijderd schreef op 25 september 2002 @ 14:33:
als je dat open nou eens vervangt door:
open(PEOPLE, ">>a.txt") || die $!;

dan zie je vanzelf waar het aan ligt :)

en daarnaast: jij kan naar je files writen...... maar dat kan ook als a.txt op rechten 600 staat. Bedoel te zeggen: wil niet zeggen dat als jij kan schrijven dat het script het ook kan :)
dit heb ik uitgeprobeert en ik krijg nog steeds witte pagina en hij print niks in het filetje......

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

klinkt als geen rechten?

Doet iets met Cloud (MS/IBM)


Verwijderd

Zou kunnen, maar dan moet die die toch uitgevoerd worden, dat gebeurt klaarblijkelijk ook niet :?

  • TheFreak2002
  • Registratie: Mei 2002
  • Laatst online: 08-07 20:58
klopt er gebeurt niks.......terwijl als ik bijvoorbeeld na het schrijven van het bestand html als output naar het scherm schrijf zie ik ook een blanko pagina.....haal ik hierna de file handlers weg dan schrijft hij wel die html dus ik denk eigelijk dat het aan print "Content-type: text/html\n\n"; ligt maar als ik dat weghaal krijg ik een error........

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 19:19

odysseus

Debian GNU/Linux Sid

Kun je het volgende eens proberen?

code:
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl

use CGI;
print header;
print start_html();

open(PEOPLE, ">>a.txt") ; 
print PEOPLE "bla bla bla" || print "Er ging iets fout: $!";
close (PEOPLE);

print end_html();

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • TheFreak2002
  • Registratie: Mei 2002
  • Laatst online: 08-07 20:58
jezus......de hele tijd deed mijn scriptje het!!!! wat ben ik stom.......maar dat kon ik toch ook niet weten......op de webserver staat een directory htdocs en daarin o.a de directory cgi-bin
In de directory cgi-bin stond een directory test en in de directory test het bestandje test.pl en a.txt....Maar in plaats dat hij dat bestandje a.txt in de directory htdocs/cgi-bin/test pakt plaatste het script a.txt in de root van htdocs......sjonge jonge........nou ja weer iets geleerd.......bedankt voor alle hulp mensen!!
Pagina: 1