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

Langage Perl Discussion :

[langage]parcours fichier txt en perl sous windows


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut [langage]parcours fichier txt en perl sous windows
    Bonjour,

    Je dois développer un script perl qui parcours un fichier txt et insère ensuite des donnees dans une base PostGres.
    Mon fichier "toto.txt" se trouve dans le même répertoire que le script perl "test.pl" et il n'arrive pas à l'ouvrir.

    Mon code :
    if (-e "toto.txt"){
    print "existe";
    }
    else{
    die "$!";
    }

    il me renvoie "No such file or directory"
    Quelqu'un a-t-il une idée ?
    Merci pour votre aide

  2. #2
    Membre actif Avatar de Gamdwin
    Inscrit en
    Avril 2005
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 186
    Points : 207
    Points
    207
    Par défaut
    Ton fichier n'est pas accessible (pas de droit en lecture dessus par exemple) ou n'existe pas.

    Ce n'est en tout cas pas un problème de syntaxe PERL.
    "I hate quotations. Tell me what you know." (Ralph Waldo Emerson)

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Justement c'est bien ça mon problème : mon fichier existe bien et je viens de vérifier les droits : controle total pour tout le monde !
    Est-ce que ce n'est pas un problème de chemin ??

  4. #4
    Membre actif Avatar de Gamdwin
    Inscrit en
    Avril 2005
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 186
    Points : 207
    Points
    207
    Par défaut
    Peut-être.
    Essaie avec "./toto.txt", pour voir.

    Mais ça ne vient pas de ton bout de code en tout cas.
    "I hate quotations. Tell me what you know." (Ralph Waldo Emerson)

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Ben non ça marche toujours pas. Par contre je n'ai pas de "use" particulier, normalement je n'en ai pas besoin juste pour parcourir un fichier ?

  6. #6
    Membre actif Avatar de Gamdwin
    Inscrit en
    Avril 2005
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 186
    Points : 207
    Points
    207
    Par défaut
    Besoin d'aucun "use" particulier.

    Par contre il est recommandé d'utiliser "use strict;", et éventuellement "use warning;" (si disponible, ce qui devrait être le cas).
    Ca oblige à écrire du code plus rigoureux.

    A part ces deux là, tu n'as besoin de rien pour lire un fichier.
    "I hate quotations. Tell me what you know." (Ralph Waldo Emerson)

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    En fait je vais récapituler depuis le début.
    Je développe une interface web en php sous windows mais je dois écrire un script perl pour parser un gros fichier txt que j'appelerai depuis un script php. J'ai donc installé activePerl et j'ai écrit pour l'instant un petit script perl que j'ai mis dans un répertoire avec mes fichiers php.
    Je lance depuis la console MSDOS.
    Est-ce que j'ai oublié de faire quelquechose ??

  8. #8
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Ca y est ça marche mais je suis obligée de mettre le chemin complet depuis la racine , facon windows avec les \\ !!

  9. #9
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    met des / au lieu de \\ car perl le gere lui même et c plus propre.

  10. #10
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Oui effectivement ça marche aussi avec des / et je suis d'accord avec toi : c'est plus propre
    Merci

  11. #11
    Membre actif Avatar de Gamdwin
    Inscrit en
    Avril 2005
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 186
    Points : 207
    Points
    207
    Par défaut
    Citation Envoyé par stef74
    Je lance depuis la console MSDOS.
    Tu le lances avec "perl ton_script.pl", ou d'une autre manière ?

    Ca y est ça marche mais je suis obligée de mettre le chemin complet depuis la racine
    Gaffe, quand tu l'appelleras par l'intermédiaire d'un script PHP, la racine sera celle de ton site, pas celle de ton disque.
    Il doit y avoir un truc qui cloche dans ton script pour que ça ne fonctionne pas.

    facon windows avec les \\ !!
    Surtout pas, comme le dit Djibril, utilise des "/" à la place.
    "\" est un caractère spécial en PERL (en fait, en PERL et dans la majorité des environnements/langages, j'ai jamais compris pourquoi sous DOS ils l'ont choisi ), autant éviter de l'utiliser tant que c'est possible.
    "I hate quotations. Tell me what you know." (Ralph Waldo Emerson)

  12. #12
    Membre actif
    Inscrit en
    Février 2005
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 167
    Points : 203
    Points
    203
    Par défaut
    cela veut dire que le programme a une autre idée du répertoire courant que toi, c'est tout.

    Fais un chdir sur le répertoire avant, et ce sera nickel.

    N

  13. #13
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    pour l'instant je le mets avec mes fichiers Php mais je ne sais pas exactement ou je le mettrai aprèq car il pourra être aussi appeler par un autre programme ou une tache planifiée, pour l'instant tout cela est encore flou..

    En tout cas merci à tous pour votre aide
    Stefy

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Installer Perl sous windows
    Par photorelief dans le forum Langage
    Réponses: 20
    Dernier message: 09/04/2008, 20h05
  2. Copier des fichiers en Perl sous Windows XP
    Par Pauli dans le forum Langage
    Réponses: 1
    Dernier message: 19/02/2007, 10h40
  3. Interface graphique PERL sous Windows?
    Par piotr dans le forum Web
    Réponses: 5
    Dernier message: 23/07/2006, 17h07
  4. Programmation Perl sous Windows
    Par ArHacKnIdE dans le forum Langage
    Réponses: 23
    Dernier message: 26/05/2006, 18h22
  5. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 23h42

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