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 :

Archive::Extract - out of memory


Sujet :

Modules Perl

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Archive::Extract - out of memory
    Citation Envoyé par djibril Voir le message
    Premier conseil :

    Evitez les \\ dans les chemins en Perl. Perl est très intelligent et prefere la notation / comme sous linux .

    Utilisez use warnings et strict;

    essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/usr/bin/perl
    use warnings;
    use strict;
    use Archive::Extract;
    my $file = "D:/mes tests/test archive/Mon_fichier_au_2009-04-20.txt.tgz";
    my $ae = Archive::Extract ->new( archive => $file);
    my $ok = $ae -> extract( to => "D:/tmp") or die $ae -> error;
    my $check = $ae -> is_tgz;
    print "check = $check\n";
    Bonjour,

    J'ai également un souci pour extraire des archives .tgz.
    En utilisant le module Archive::Extract ou Archive::Tar, j'ai toujours le même problème : Out of memory!

    Plus précisément, le problème arrive dès que mon archive .tgz contient des gros fichiers (par exemple plus de 100Mo), sinon pas de problème. Pour des raisons de portabilité je souhaite utiliser une solution pure perl, car mon script est susceptible d'être utilisé par d'autre sous Windows.

    J'ai bien trouvé un binaire tar pour Windows mais il ne supporte pas l'option z.

    Existe-t'il d'autres moyens pour extraire des .tgz en pur perl ?
    Sinon connaissez-vous un binaire tar qui supporte les tgz ?

  2. #2
    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
    Sous Linux, si ton archive est très grosse (via un test de taille), tu peux passer la variable $Archive::Extract::PREFER_BIN à true pour utiliser la ligne de commande.

    Sous Windows, Tu peux utiliser Izarc en ligne de commande si tes archives sont très grosses, ça fonctionne très bien.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse djibril, ca veut dire qu'il n'y a pas de moyen pur perl de traiter les tgz incluant de trop gros fichiers.
    J'ai aussi la possibilité sous Windows de lancer le script perl dans un environnement cygwin, configuré avec perl et tar.

  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
    Citation Envoyé par nikita006 Voir le message
    Merci pour ta réponse djibril, ca veut dire qu'il n'y a pas de moyen pur perl de traiter les tgz incluant de trop gros fichiers.
    Si, Archive::Extract , mais ton out of memory n'est pas un souci perl mais un souci de mémoire suffisante . Si tu travailles sur un Pc ou serveur ayant assez de mémoire RAM, tu n'auras pas ce souci.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je suis sur un PC Windows XP avec 4Go de RAM, et je suis loin d'utiliser toute la mémoire du système !
    Est-ce que perl (ActivePerl 5.12.2) est limité dans l'allocation de mémoire ?
    Lorsque je regarde dans Task Manager, le process perl.exe plante toujours aux alentours de 250Mo de Mem Usage...

  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
    Bizarre alors! Je n'utilise pas activeperl 5.12, mais 5.10, mais je ne pense pas que ce soit le souci. Bizarre que perl n'utilise que 250 Mo

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Pour info je n'utilise pas $Archive::Extract:REFER_BIN à true

    Dans ce cas je retombe dans les meme travers que Archive::Tar

Discussions similaires

  1. Archive::Tar -> Out of memory!
    Par cassis2k dans le forum Modules
    Réponses: 2
    Dernier message: 13/01/2010, 14h56
  2. [C++] [gcc] out of memory
    Par fxp17 dans le forum GCC
    Réponses: 5
    Dernier message: 06/01/2006, 10h29
  3. [pb mémoire] out of memory d'eclipse
    Par Casp dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 12/05/2005, 16h39
  4. Out of memory
    Par shurato dans le forum ANT
    Réponses: 1
    Dernier message: 10/11/2004, 16h19
  5. [JBuilder 8] Out of memory problem ...
    Par keros dans le forum JBuilder
    Réponses: 2
    Dernier message: 08/09/2003, 19h03

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