[perl][asp] wegschrijven naar textfile

Pagina: 1
Acties:

  • sharkzor
  • Registratie: Maart 2000
  • Laatst online: 30-04 08:04
ik wil gewoon simpel wat regels naar een textfile wegschijven. Dit om verkochte producten naar een bestand te schijven die het boekhoudpakket kan importeren.
Nu heb ik wat gezocht op google, en dat bleek heel makkelijk met

use IO::Handle;
open OUTPUT, ">export.txt";
print OUTPUT "blablatekst\n";
close OUTPUT;

nu heb ik dat getest in de console, werkt prima. een .pl bestandje gemaakt en uitvoeren maar.

maar in een asp pagina (dus perl script) wil hij maar niet wegschrijven. Er gebeurt niks.
heb al geprobeert een dir export te maken en daar everyone full controll op te geven.
maar als ik dan 'open OUTPUT, ">e:\export\export.txt";' doe
gebeurt er niks...

weet iemand wat er mis is?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Heb je de schrijfrechten op die map goed ingesteld? Volgens mij moet het account IUSR_computernaam dan schrijfrechten krijgen op die map, maar pin me er niet op vast, want ik ben niet zo'n ASP-er. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • sharkzor
  • Registratie: Maart 2000
  • Laatst online: 30-04 08:04
-NMe- schreef op maandag 22 augustus 2005 @ 21:39:
Heb je de schrijfrechten op die map goed ingesteld? Volgens mij moet het account IUSR_computernaam dan schrijfrechten krijgen op die map, maar pin me er niet op vast, want ik ben niet zo'n ASP-er. :P
ook al geprobeerd. in de directory waar het .asp bestand ook in staat.

btw, ik merk nu op dat als ik via de commandline een test.pl naar e:\export\export.txt laat wegschrijven er ook niks gebeurt. terwijl ook op die dir iedereen full controll heeft.
open OUTPUT, ">e:\export\export.txt";
werkt dus niet
open OUTPUT, ">export.txt";
wel (alleen in de console dan)


edit:
ffe wat error output laten genereren, dit krijg ik terug van de browser:
Permission denied

en via de command line naar e:\export\export.txt wegschrijven vind hij weer een illegal argument... joepie! ik vermaak me weer kostelijk

[ Voor 18% gewijzigd door sharkzor op 22-08-2005 22:08 ]


  • Juup
  • Registratie: Februari 2000
  • Niet online
1. De backslash is een escape karakter dus die moet je dubbel doen
2. Zorg dat je altijd de output van het open() commando controleert
3. Doe dit:
Perl:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl
use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser); # alleen bij het testen, uitzetten voor productiecode

my $fileName = "c:/file.txt";
if (open (my $fh, '>', $fileName))
{
  print $fh "Aap\n";
  close ($fh);
}
else
{
  die "Could not open file $fileName for writing: $!";
}

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


  • sharkzor
  • Registratie: Maart 2000
  • Laatst online: 30-04 08:04
Juup schreef op dinsdag 23 augustus 2005 @ 17:55:
1. De backslash is een escape karakter dus die moet je dubbel doen
2. Zorg dat je altijd de output van het open() commando controleert
3. Doe dit:
Perl:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl
use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser); # alleen bij het testen, uitzetten voor productiecode

my $fileName = "c:/file.txt";
if (open (my $fh, '>', $fileName))
{
  print $fh "Aap\n";
  close ($fh);
}
else
{
  die "Could not open file $fileName for writing: $!";
}
damn, ik ben ook echt een aap. backslash helemaal vergeten ja!
tnx, ga het vanaaf gelijk testen