IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modules Perl Discussion :

Perl/Mason pb fichiers


Sujet :

Modules Perl

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Perl/Mason pb fichiers
    Bonjour,

    Je ne sais pas si qqn a deja developpe du perl avec mason : en fait, c du code perl embarque dans des pages html.
    Le probleme que j'ai est que sur la page, je charge un fichier mais que pour le site seb, ce fichier n'existe pas.
    Ce fichier existe bel et bien et je suppose que l'erreur vient du path ou alors le fichier doit absolument etre au meme endroit que le script ?!
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    <html>
    <head>
    <title>Stupid title</title>
    <!--link rel="stylesheet" type="text/css" href="/style/main.css"-->
    </head>
    <body>
    <%text>
    This is my first page. Just want to reproduce what I have written down on a paper.<br>
    See if it goes to a new line itself ! :-0 <br>
    No we have to put the html command to make a newline &lt;br&gt;
    </%text>
     
    <& 'add.mcomp' &>
     
    </body>
    </html>
     
     
    <& '../autohandler.mcomp' &>
    <!--
    <%flags>
    inherit => undef
    </%flags>
    -->
     
    ca c'est ma page d'accueil
     
    <p>If you want to load a file 
    	<ul>
    		<li>press the <strong>Browse</strong> button</li>
    		<li>select a file</li>
    		<li>press the <strong>Add This File</strong> button.</li>
    	</ul>
    </p>
     
    <form action="input/addfile.mason" method="post">
    <table>
    	<tr>
    		<td align="right">File :</td>
    		<td align="left" height=10><input id="input" name="inputfile" type="file"></td>
    	</tr>
    </table>
    <p><input type="submit" value="Submit"></p>
    </form>
     ca c'est le contenu de 'add.mcomp'
     
    <html>
    <head>
    <title>New web page</title>
    </head>
    <body>
    <p>File explored</p>
     
    <%perl>
    use strict;
    use diagnostics;
    my $infilename = " ";
    eval{
    	$infilename = $inputfile;
    	open INFILE,$infilename
    		or die "Can't open file '$infilename' \n";
    };
    if ($@){
        print "Can't open file '$infilename', program halting. \n "; 
        print "File not found ";
    } else {
    	print "Okay, file named $infilename exists, continuing \n"; 
    	print "\n";
    }
     
    </%perl>
     
     
    </body>
    </html>
     
    <%args>
    	$inputfile
    </%args>
     
    <%flags>
    inherit => undef
    </%flags>
    et voici le script perl dont le travail est de me dire si le fichier existe et peut donc etre lu.

    Si qqn a un quelconque indice, ca pourrait me debloquer.

    Le fichier que j'essaie de charger a un chemin comme suit : "L:\repertoire\fich.txt"

    Merci

    [Edit]Balises [ code ] et [ /code ] ajoutées, n'importe comment, par 2Eurocents.
    Merci d'éditer le message pour les placer correctement et de les utiliser chaque fois qu'il faut mettre le code en valeur[/Edit]

  2. #2
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    1 - Ton programme marche très bien, par contre assure toi d'abord que lorsque tu appelles ta fonction PERL, ta variable $inputfile est bien initialisée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #!/bin/perl
     
    use strict;
    use diagnostics;
    my $infilename = "";
    my $inputfile = "d:\\perl\\forums\\perl flag.pl"; 
    # ou alors faire afficher ta variable avec un [print $inputfile, "\n";]
    eval{
       $infilename = $inputfile;
       open INFILE,$infilename or die "Can't open file '$infilename' \n";
    };
     
    if ($@){
        print "Can't open file '$infilename', program halting. \n "; 
        print "File not found "; 
    } else { 
       print "Okay, file named $infilename exists, continuing \n"; 
       print "\n"; 
    }
    2 - Si ça marche toujours pas, alors tu dois surement executer ton programme PERL sur un serveur HTTP par exemple, alors là il te faudra imposer un chemin UNC au lieu d'un PATH

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    merci pour ta reponse, mais j'ai deja essaye et ca ne marche pas.
    En effet, comme Mason est un langage interprete permettant d'embarquer du code perl dans des pages HTML, je dois passer une URL plutot qu'un PATH. Comme ca, je ne devrais plus avoir de probleme a cause du format propre a windows pour les paths. Je me penche sur la question, je pense avoir trouver quelques scripts faisant ce que je voudrais faire.
    Je vais essayer.
    Merci encore de m'avoir repondu.

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Au cas où tu n'aurais pas encore résolu ton pb.

    1 -Aurais tu un serveur apache ?
    2 - Ou connait tu les config. de ton serveur HTTP ?

    Je viens de me renseigner, et si tu désires accéder à un fichier à partir d'un serveur, normalement la config. serveur devrait avoir le PATH des scripts PERL, des pages HTML ou des fichiers quelconques.

    Ex. Dans ta config. serveur tu spécifies que les fichiers de scripts sont dans le répertoire : "c:\Scripts\" sous Win ou "/usr/serveur/Scripts" sous unix.
    Ainsi s'il existe un fichier : "c:\Scripts\monScript.txt" pour y accéder tu fait simplement : "/monScript.txt" car le serveur connait deja les répertoires et peut normalement reconstituer le path entier.

  5. #5
    vic
    vic est déconnecté
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2002
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 431
    Points : 498
    Points
    498
    Par défaut
    Oui il faut mettre un chemin relatif et non pas absolu. D'une manière générale quand on écrit des applis web il faut mettre des chemins relatifs partout où c'est possible.

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour vos reponses, mais en fait, j'ai trouve la solution sur le site de mason : http://www.masonhq.com
    En fait, pour mon appli web, je demande a l'utilisateur de donner le fichier source au serveur donc il faut que j'uploade le fichier et avec le code sur le site de mason, ca marche.

    Merci encore

Discussions similaires

  1. Appliquer un script perl sur un fichier uploadé
    Par Oli_Ifre dans le forum Langage
    Réponses: 4
    Dernier message: 04/04/2007, 11h14
  2. Réponses: 1
    Dernier message: 05/12/2006, 17h47
  3. [PERL] transformation de fichier
    Par bob20000 dans le forum Langage
    Réponses: 6
    Dernier message: 27/07/2006, 11h13
  4. ouverture sous perl d'un fichier caché
    Par Krispy dans le forum Langage
    Réponses: 2
    Dernier message: 03/04/2006, 13h32
  5. [PERL] lire un fichier bytes à bytes
    Par LE NEINDRE dans le forum Langage
    Réponses: 1
    Dernier message: 09/01/2006, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo