Script Perl écrit un fichier à la racine du site web plutôt qu'à l'emplacement du script
Bonjour,
J'ai un problème avec un script Perl lancé via un site web IIS 7.
Mon site web est configuré afin de se lancer depuis le répertoire Windows E:\WEBSITE\TOTO\HTML.
J'ai un sous dossier HTML\user_report où mon script Perl (create_file.pl) est situé. Ce script doit créer un fichier report.txt dans le même répertoire.
Mais quand je lance http://Mywebsite/user_report/create_file.pl le fichier report.txt est créé dans E:\WEBSITE\TOTO\HTML\report.txt au lieu de E:\WEBSITE\TOTO\HTML\user_report\report.txt.
Quelqu'un a-t-il une idée d'où vient le problème ?
Voici le fichier create_file.pl:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
#!/usr/bin/perl
print "content-type: text/plain\n\n";
use strict;
use warnings;
my $filename = 'report.txt';
open(my $fh, '>', $filename) or die "Could not open file '$filename' $!";
print $fh "My first report generated by perl\n";
close $fh;
print "done\n"; |
Le serveur est un Windows 2008 R2 64bits
IIS 7.5
Perl 5.15
Merci pour votre aide.
Le script est censé être correct
Bonjour Lolo78
Merci pour ta réponse. Cependant, la solution que tu proposes n'est pas celle que j'aurai aimé ;)
Si je lance le script depuis l'url http://Mywebsite/user_report/create_file.pl le fichier étant créé dans le répertoire où je me trouve, il devrait donc bien être dans le répertoire user_report ?
Voici un peu plus d'informations sur le contexte:
Je ne peux pas spécialiser le script Perl en fonction de son répertoire: J'ai une centaine de répertoires et chacun contient ce même script Perl qui doit écrire le fichier en local dans son répertoire.
J'ai une autre installation de ces scripts sur un autre serveur qui a la même configuration (théoriquement...) et sur cet autre serveur le script fonctionne parfaitement en écrivant bien le fichier au bon endroit.
Cela m'indique que le script est correct et que la différence vient de quelque-chose sur le serveur (réseau ou système).
Je me demandais s'il n'y avait pas une option d'installation de Perl ou de IIS qui pourrait modifier ce comportement ?
A noter cependant que la solution que tu proposes fonctionne car en indiquant un chemin (complet ou relatif), le fichier est créé au bon endroit.
Merci d'avance.
Variables d'environnement
Bonjour,
Je vais creuser dans cette direction, je noterai en réponse si j'ai trouvé une solution.
Merci pour votre aide.