Bon, je jure que j'ai fouill=E9 les FAQs, les archives de ce groupe et
d'autres joyeuset=E9s, mais je ne trouve pas la r=E9ponse au tri de
tableaux de tableaux d=E8s qu'on utilise les r=E9f=E9rences.
Prenons par ex. une structure construite =E0 partir d' /etc/passwd:
use Data::Dumper;
open PASSWD,"</etc/passwd";
my $users;
while (<PASSWD>) {
my $user =3D [ split(":",$_) ] ;
push @$users, $user;
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
YBM
gvdmoort a écrit :
Bonjour à tous,
Bon, je jure que j'ai fouillé les FAQs, les archives de ce groupe et d'autres joyeusetés, mais je ne trouve pas la réponse au tri de tableaux de tableaux dès qu'on utilise les références.
Prenons par ex. une structure construite à partir d' /etc/passwd:
use Data::Dumper; open PASSWD,"</etc/passwd";
my $users; while (<PASSWD>) { my $user = [ split(":",$_) ] ; push @$users, $user; }
print Dumper($users);
J'obtiens bien la structure attendue
Bien, mais pourquoi manipuler une référence de tableau et non un tableau directement ? Ceci me semble plus naturel :
my @users; while (<PASSWD>) { my $user = [ split(":",$_) ] ; push @users, $user; }
Normal, sort attend une liste et tu ne lui passe qu'une liste à un élément qui est la référence. Il faut déréférencer cette référence. De plus sort renvoie un tableau, pas une référence :
Bon, je jure que j'ai fouillé les FAQs, les archives de ce groupe et
d'autres joyeusetés, mais je ne trouve pas la réponse au tri de
tableaux de tableaux dès qu'on utilise les références.
Prenons par ex. une structure construite à partir d' /etc/passwd:
use Data::Dumper;
open PASSWD,"</etc/passwd";
my $users;
while (<PASSWD>) {
my $user = [ split(":",$_) ] ;
push @$users, $user;
}
print Dumper($users);
J'obtiens bien la structure attendue
Bien, mais pourquoi manipuler une référence de tableau et non un
tableau directement ? Ceci me semble plus naturel :
my @users;
while (<PASSWD>) {
my $user = [ split(":",$_) ] ;
push @users, $user;
}
Normal, sort attend une liste et tu ne lui passe qu'une liste à un
élément qui est la référence. Il faut déréférencer cette référence.
De plus sort renvoie un tableau, pas une référence :
Bon, je jure que j'ai fouillé les FAQs, les archives de ce groupe et d'autres joyeusetés, mais je ne trouve pas la réponse au tri de tableaux de tableaux dès qu'on utilise les références.
Prenons par ex. une structure construite à partir d' /etc/passwd:
use Data::Dumper; open PASSWD,"</etc/passwd";
my $users; while (<PASSWD>) { my $user = [ split(":",$_) ] ; push @$users, $user; }
print Dumper($users);
J'obtiens bien la structure attendue
Bien, mais pourquoi manipuler une référence de tableau et non un tableau directement ? Ceci me semble plus naturel :
my @users; while (<PASSWD>) { my $user = [ split(":",$_) ] ; push @users, $user; }
Normal, sort attend une liste et tu ne lui passe qu'une liste à un élément qui est la référence. Il faut déréférencer cette référence. De plus sort renvoie un tableau, pas une référence :
Normal, sort attend une liste et tu ne lui passe qu'une liste à un élément qui est la référence. Il faut déréférencer cette r éférence. De plus sort renvoie un tableau, pas une référence :
Un grand merci, ça devient plus clair à présent.
On 16 mai, 18:56, YBM <ybm...@nooos.fr.invalid> wrote:
Normal, sort attend une liste et tu ne lui passe qu'une liste à un
élément qui est la référence. Il faut déréférencer cette r éférence.
De plus sort renvoie un tableau, pas une référence :
Normal, sort attend une liste et tu ne lui passe qu'une liste à un élément qui est la référence. Il faut déréférencer cette r éférence. De plus sort renvoie un tableau, pas une référence :
Un grand merci, ça devient plus clair à présent.
Nicolas George
gvdmoort wrote in message :
$a->[4] <=> $b->[4]
Outre la réponse d'YBM, on ne saurait trop d'inviter à activer les warnings, ça te permettrait de te rendre compte que tu utilises une comparaison numérique pour un champ texte.
gvdmoort wrote in message
<d82f4d33-7c92-4e1f-b344-c29cba4644f0@m4g2000vbl.googlegroups.com>:
$a->[4] <=> $b->[4]
Outre la réponse d'YBM, on ne saurait trop d'inviter à activer les warnings,
ça te permettrait de te rendre compte que tu utilises une comparaison
numérique pour un champ texte.
Outre la réponse d'YBM, on ne saurait trop d'inviter à activer les warnings, ça te permettrait de te rendre compte que tu utilises une comparaison numérique pour un champ texte.
gvdmoort
On 16 mai, 20:52, Nicolas George <nicolas$ wrote:
gvdmoort wrote in message
:
> $a->[4] <=> $b->[4]
Outre la réponse d'YBM, on ne saurait trop d'inviter à activer les wa rnings, ça te permettrait de te rendre compte que tu utilises une comparaison numérique pour un champ texte.
...Je le f'rai plus, m'sieu...
On 16 mai, 20:52, Nicolas George <nicolas$geo...@salle-s.org> wrote:
Outre la réponse d'YBM, on ne saurait trop d'inviter à activer les wa rnings,
ça te permettrait de te rendre compte que tu utilises une comparaison
numérique pour un champ texte.
Outre la réponse d'YBM, on ne saurait trop d'inviter à activer les wa rnings, ça te permettrait de te rendre compte que tu utilises une comparaison numérique pour un champ texte.