Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/12/2014, à 15:52

Rob414

[RESOLU] Perl : eternel débutant.

Bonjour à tous,
J'ai un petit soucis avec un script perl , comme j'apprends tout seul dans mon coin à l'aide d'un tutoriel (débuter et progresser en Perl
Par Sylvain Lhullier), et que je cherche illico presto une application concrete pour me simplifier le boulot , je tourne en rond et bientot en bourrique sur une commande:
démonstration:
#!/usr/bin/perl
use strict;
use warnings;
my $Fic = `grep "/data/REFA/expl/data/resultats/......./info.csv" tmpfile |cut -c10-56`;
chomp ($Fic);
#print $Fic;
my @TFileLot = `cat $Fic |sed '1d'`;
#print @TFileLot;
#my @Lots = substr(@TFileLot,16,54);
my @Lots = grep (/HR_400_TRAST-...................................csv.gz/,@TFileLot);
chomp (@Lots);
my @Tlots = map({substr ($_,16,54)} @Lots);

et c'est là que le bât blesse ma variable @Lots  contient bien un résultat de type liste comme:
cequejeneveutpasAAAAcequejeneveuxpas
cequejeneveutpasBBBBcequejeneveutpas
cequejeneveutpasCCCCcequejeneveutpas
etc...
mais apres le "map({substr ($_,16,54)} @Lots" le résultat est en ligne, comme :
AAAABBBBCCCCetc....;
et moi je le voudrais en mode liste........
J'ai beau fouiner je ne comprends pas ....
une idée?

Dernière modification par Rob414 (Le 14/03/2016, à 15:38)

Hors ligne

#2 Le 02/12/2014, à 18:20

sputnick

Re : [RESOLU] Perl : eternel débutant.

1) tu pourrait mettre ton code dans les balises du même nom, là ça fait bordélique au possible, personne n'a envie de lire

2) pourquoi utiliser sed, cat, cut, grep en perl ? Perl est super puissant pour se passer de ces outils


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 04/12/2014, à 17:02

Rob414

Re : [RESOLU] Perl : eternel débutant.

Merci sputnick d'avoir jeté un oeil sur mon post.
Je suis bien conscient que l'écriture de ce script pour un "perlien" ou meme un programmeur en général est illisible, mais comme je l'ai précisé je suis totalement néophyte en la matière, et je suis le fameux tutorat , mais là ou j'en suis je n'ai rien trouvé qui puisse remplacer mes "cut", "cat","sed" etc..., mon tort est de vouloir faire un script hors de ma portée pour ce que j'ai compris de perl .
Bon j'essaye de me débrouiller avec ce que je trouve, mais j'ai beaucoup de mal avec les syntaxes..............
Je continue quand même , je suis du genre opiniâtre......
Cordialement.

Hors ligne