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 :

Besoin d'aide avec TIE::Array


Sujet :

Modules Perl

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 73
    Par défaut Besoin d'aide avec TIE::Array
    J'ai besoin d'un coup de main avec Tie::Array, j'ai lié un tableau comme ceci

    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
    package Array;
    use strict;
    use Fcntl;
    use Tie::Array;
    use threads::shared;
     
     
    sub new
    {
        my $class = shift;
        tie my @q, 'Tie::Array', 'Array.dbm', O_CREAT|O_RDWR or die 'Unable to tie ARRAY';
        share(@q);
        return bless \@q, $class;
    }
     [...]
    La façon dont je lie le tableau me semble bonne puisque c'est comme avec un hash sauf que perl me demande de définir une fonction TIEARRAY comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        sub TIEARRAY {
            my $class = shift;
            my $bound = shift;
            confess "usage: tie(\@ary, 'Bounded_Array', max_subscript)"
                if @_ || $bound =~ /\D/;
            return bless {
                BOUND => $bound,
                ARRAY => [],
            }, $class;
        }
    Mais j'arrive pas a comprendre comment je peut bénir mon tableau puis le rebénir dans new() , sans compter que je comprend pas vraiment le code de ladite fonction

    merci de votre aide

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 427
    Par défaut
    Tie::Array est juste une classe de base pour implementer des tie de array. En fait cette implementation imite juste un array normal...
    La tu veux faire un tie sur un fichier dbm, donc regarde plutot du coté de AnyDBM_File.
    http://search.cpan.org/~nwclark/perl...AnyDBM_File.pm

    Ou si ton fichier DBM existe deja (ou que tu dois pouvoir le lire sur une autre machine) utilise directement un des modules que celui ci utilise (DB_File, SDBM_File, etc...)

    mais dans tous les cas (à part pour DB_File ou BerkeleyDB en mode Recno ou Queue) c'est avec une hash que doit se faire le tie et non un array

Discussions similaires

  1. Besoins d'aide avec array
    Par java250r dans le forum Langage
    Réponses: 4
    Dernier message: 16/05/2012, 03h34
  2. Besoin d'aide avec Regexp::Assemble
    Par mobscene dans le forum Modules
    Réponses: 5
    Dernier message: 11/04/2007, 12h39
  3. [ASA] J'ai besoin d'aide avec sybase et vb6 svp !!
    Par tibo830 dans le forum SQL Anywhere
    Réponses: 7
    Dernier message: 12/05/2006, 10h09
  4. Réponses: 2
    Dernier message: 29/08/2003, 17h52
  5. Besoin d'aide avec postgresql sous windows NT
    Par Chihuahua dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 18/07/2003, 08h29

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