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 :

Impossible d'effacer un fichier ouvert avec RTF::Reader


Sujet :

Modules Perl

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Impossible d'effacer un fichier ouvert avec RTF::Reader
    Bonjour à tous,

    j'ai un problème "basique". J'ouvre un fichier .rtf afin d'aller lire la première ligne et en extraire le contenu.
    Suite à ça je veux effacer le fichier et là pfffff !!!! impossible car il est occupé par ce fichu RTF::Reader.
    Voici le bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    use RTF::Reader;
    $source_file=$ARGV[0]; 
    my $object = RTF::Reader->new( file => $ARGV[0] );
    $object->process;
    $extract_market = substr($object->{buffer}, 0, 2);
    chdir $extract_market;
    ....
    unlink $source_file; 
    exit;
    Si quelqu'un a une idée sur comment faire le unlink, merci d'avance.

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 47
    Points : 56
    Points
    56
    Par défaut
    Essaye
    avant de faire unlink().

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par chostrama
    Essaye
    avant de faire unlink().
    Désolé de la réponse un peu tardive, mais j'étais absent quelques temps. 8)

    la commande undef $object; malheureusement ne marche pas non plus.

    Merci d'avance pour votre support.

  4. #4
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    y aurais pas une methode close() dans la doc du module.

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par djibril
    y aurais pas une methode close() dans la doc du module.
    Ben malheureusement non
    voici l'adresse du module concerné :
    http://search.cpan.org/~sargie/RTF-R.../RTF/Reader.pm
    au cas où ...

  6. #6
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    et ce module peut pas t'aider, RTF-Parser-1.09 ??

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par djibril
    et ce module peut pas t'aider, RTF-Parser-1.09 ??
    Je ne sais pas ...
    le but du programme est d'uniquement lire la première ligne du fichier rtf contenant un truc du genre "US65" afin de pouvoir déplacer ce fichier dans un répertoire nommé US.

    Ensuite trouver une ligne contenant au début :"our ref" et en copier le contenu dans une $variable.

    Merci

  8. #8
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Citation Envoyé par pouet33
    voici l'adresse du module concerné :
    http://search.cpan.org/~sargie/RTF-R.../RTF/Reader.pm
    au cas où ...
    Quand on regarde à cette adresse et qu'on voit
    THIS MODULE IS AT BEST BETA, AT WORST, STILL IN 'PLANNING'. The interface may change, the docs are almost certainly slighty out of date.... The latest version of all this is in CVS - use that instead where possible. Details at http://rtf.perl.org/...
    et qu'en plus, les dernières news du site pointé datent de novembre 2004 et que pour conclure, le répertoire cvsmonitor du site, censé nous permettre de parcourir du code, ne fonctionne pas ...

    Quand on voit tout ça, il y a de quoi se poser des questions sur la vivacité du module

    Si tu n'envisage pas de changer de module pour un RTF:arser soutenu par le CPAN, je te propose la démarche suivante :

    - Ouvrir toi-même le fichier avec un open ( or die, bien sur )
    - Passer le HANDLE ainsi obtenu au new de ton RTF::Reader
    - Fermert toi-même le fichier avec un close
    - Enfin, faire le unlink qui te bloque depuis le début ... mais le fichier étant fermé, pas dans un état incertain dans un module improbable


    Bon courage
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Au vue d'une telle affirmation, je ne peux que m'y plier
    En effet je crois qu'il va être préférable que je m'oriente sur un module plus "stable" et conforme car autrement je vais finir comme ça :

    Merci tout de même à tous pour votre soutien

  10. #10
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    je vais enlever resolu pour mettre delestage à ton sujet
    logique non

  11. #11
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Citation Envoyé par pouet33
    Au vue d'une telle affirmation, je ne peux que m'y plier
    En effet je crois qu'il va être préférable que je m'oriente sur un module plus "stable" et conforme car autrement je vais finir comme ça :

    Merci tout de même à tous pour votre soutien
    As tu quand même testé l'alternative que je te propose, en transmettant un FileHandle à RTF::Reader ???
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  12. #12
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    As tu quand même testé l'alternative que je te propose, en transmettant un FileHandle à RTF::Reader ???[/quote]

    J'ai essayé sans succès.
    Le moyen le plus simple mais "barbare" lancer un .bat en premier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    run.bat
     
    perl traitement.pl %1
    perl delete.pl %1
    pis là ben c'est ok.

    C'est triste d'en arriver là

Discussions similaires

  1. Impossible d'effacer le fichier
    Par pracede2005 dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 21/05/2007, 11h56
  2. Impossible de traiter un fichier rptdesign avec Jasper
    Par nico_somb dans le forum Jasper
    Réponses: 3
    Dernier message: 31/08/2006, 10h01
  3. fermeture d'un fichier ouvert avec la fonction shell
    Par julio02200 dans le forum Access
    Réponses: 10
    Dernier message: 19/06/2006, 10h58
  4. Réponses: 10
    Dernier message: 27/02/2006, 16h55
  5. Impossible d'effacer un fichier
    Par MiJack dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 14/11/2005, 10h09

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