Manipulation de tableaux en perl
Alain T
-
christophe1371 Messages postés 65 Date d'inscription Statut Membre Dernière intervention -
christophe1371 Messages postés 65 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'aurais besoin d'un peu d'aide ne Perl. Je fais du Perl 2 fois par ans, et je galère pas mal avec la manipulation de tableaux (je ne suis pas informaticien ni développeur, mais médecin).
Je pars de deux tableaux :
@Vrac = Lundi Novembre Mardi Mercredi
@Semaine = Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimnanche
Je souhaiterais lire chaque valeur de mon tableau @Vrac, et vérifier la présence de la valeur en cours de lecture dans le tableau @Semaine.
Je voudrias alors nettoyer mon tableaun @Vrac de svaleurs non conformes (c'est à dire absentes du tableau) et mettre ces valeurs hors norme dans un tableau @anomalie.
Au final je souhaiterais avoir les tableaux suivants :
@Vrac = Lundi Mardi Mercredi
@anomalie = Novembre
Quelqu'un pourrait m'aider ?
Merci.
Alain.
j'aurais besoin d'un peu d'aide ne Perl. Je fais du Perl 2 fois par ans, et je galère pas mal avec la manipulation de tableaux (je ne suis pas informaticien ni développeur, mais médecin).
Je pars de deux tableaux :
@Vrac = Lundi Novembre Mardi Mercredi
@Semaine = Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimnanche
Je souhaiterais lire chaque valeur de mon tableau @Vrac, et vérifier la présence de la valeur en cours de lecture dans le tableau @Semaine.
Je voudrias alors nettoyer mon tableaun @Vrac de svaleurs non conformes (c'est à dire absentes du tableau) et mettre ces valeurs hors norme dans un tableau @anomalie.
Au final je souhaiterais avoir les tableaux suivants :
@Vrac = Lundi Mardi Mercredi
@anomalie = Novembre
Quelqu'un pourrait m'aider ?
Merci.
Alain.
A voir également:
- Manipulation de tableaux en perl
- Mise en forme tableau word - Guide
- Tableaux croisés dynamiques - Guide
- Fusionner deux tableaux excel - Guide
- Barbara veut calculer automatiquement son budget dans un tableau. citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). - Forum Excel
- Citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). ✓ - Forum Logiciels
3 réponses
Salut,
lami20j
root@debian:~# cat ccm.pl #!/usr/bin/perl use strict;use warnings; my @vrac = qw/Lundi Novembre Mardi Mercredi/; my @semaine = qw/Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche/; my %vu_dans_semaine; my @pas_dans_vrac; my(@normal,@anomalie); @vu_dans_semaine{@semaine} = (); for (@vrac){ push @anomalie,$_ unless exists $vu_dans_semaine{$_}; push @normal,$_ if exists $vu_dans_semaine{$_} } print "\@normal = @normal\n\@anomalie = @anomalie\n"; __END__ root@debian:~# perl ccm.pl @normal = Lundi Mardi Mercredi @anomalie = Novembre root@debian:~#--
lami20j
ou plus court avec l'opérateur ternaire ?:
#!/usr/bin/perl use strict;use warnings; my @vrac = qw/Lundi Novembre Mardi Mercredi/; my @semaine = qw/Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche/; my %vu_dans_semaine; my @pas_dans_vrac; my(@normal,@anomalie); @vu_dans_semaine{@semaine} = (); for(@vrac){exists $vu_dans_semaine{$_}?push @normal,$_:push @anomalie,$_} print "\@normal = @normal\n\@anomalie = @anomalie\n"; __END__
salut,
on utilise un tableau de hachage intermediaire (temp) pour pouvoir utiliser la fonction exists tres pratique pour vérifier si une clé existe
my @anomalie;
my @Vrac =(Lundi,Novembre,Mardi,Mercredi);
my @Semaine =(Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimnanche);
my %temp;
@temp{@Semaine} = 0..$#Semaine;
for my $val (@Vrac) {
if( ! exists $temp{$val} ) {
push (@anomalie,$val);
}
on utilise un tableau de hachage intermediaire (temp) pour pouvoir utiliser la fonction exists tres pratique pour vérifier si une clé existe
my @anomalie;
my @Vrac =(Lundi,Novembre,Mardi,Mercredi);
my @Semaine =(Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimnanche);
my %temp;
@temp{@Semaine} = 0..$#Semaine;
for my $val (@Vrac) {
if( ! exists $temp{$val} ) {
push (@anomalie,$val);
}