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 :

table taille limitéé


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Points : 32
    Points
    32
    Par défaut table taille limitéé
    Bonjour,

    J'ai une nouvelle question, j'ai fait quelques recherches mais je n'ai pas trouvé, donc je me tournes vers votre savoir.

    Je parse un fichier de quelques milliers de lignes, et je viens de me rendre compte qu'au bout de quelques milliers de lignes écrites dans mon fichier, il stoppe comme un grand sans raisons ni erreurs, ce qui amène ma question:

    lorsque l'on ouvre un fichier en écriture, y a t-il un nombre limité de caractères ?

    Merci encore de vos futures réponses.

    S.

    EDIT :

    Je viens de comprendre qu'apparemment ce n'est pas l'ecriture dans le fichier qui me pose problème, mais le tri que j'effectue, je place chacune des lignes de mon fichier de sortie dans un @tableau, je le tri et je lui dit de resortir les informations triées dans mon fichiers. C'est apparemment la taille du tableau qui est limitante.
    Quelqu'un saurait m'en dire plus? ou une autre solution pour trier les lignes d'un fichier par ordre alphanumerique?

    Encore merci d'avance.

    S.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/usr/bin/perl
     
    use strict;
    use warnings;
     
    sub sort_function{
    	my ($file1,$sort_file) = @_;
    	open (FILE, $file1) or die ("E/S : $!\n");
    	@_ = <FILE>;
    	open WRITER,"> $sort_file" or die ("The file can't be modified\n");
    	print WRITER sort(@_);
    	close WRITER;
    	close FILE;
    }

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Edit : suite à ton complément d'info, ma réponse n'a plus de sens... je réfléchis.
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  3. #3
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    De façon générale, si tu ne t'en sors pas avec des données trop lourdes, il vaut mieux utiliser une base de données.

    Le module DBI permet d'interroger ta base de données.

    Tri alphanumérique d'un champ (colonne) de la table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * 
    FROM `ma_table` 
    ORDER BY `champ_de_mots` ASC
    -- Jasmine --

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Sur un PC véloce :
    - pour une bible de 450ko, j'ai mis 9s pour la trier.
    - pour une bible de 4,5Mo, j'ai mis 2mn 40s.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ time perl -MTie::File -e 'tie @array, q(Tie::File), $ARGV[0] or die "cant open $ARGV[0] ($!)\n";@array = sort @array;untie @array;' bible2.txt
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Points : 32
    Points
    32
    Par défaut
    Merci Jasmine, et merci Philou67430. Je testes ça.

Discussions similaires

  1. Taille limite pour une table?
    Par NicolasTT dans le forum Administration
    Réponses: 2
    Dernier message: 20/07/2012, 16h40
  2. [debutant]Taille limité Oracle 9.2.0.6
    Par Carlito_superheros dans le forum Oracle
    Réponses: 3
    Dernier message: 18/10/2005, 19h32
  3. [String] Taille limite ?
    Par Clorish dans le forum Langage
    Réponses: 2
    Dernier message: 13/07/2005, 11h50
  4. taille limite d'une priority_queue
    Par traiangueul dans le forum SL & STL
    Réponses: 3
    Dernier message: 26/08/2004, 17h19

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