Bonjour,
ma question est simple .
Comment représenter cette commande dans une variable perl.
merci.Code:
1
2 awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < fichier-orig.csv > fichier-dest.csv
Version imprimable
Bonjour,
ma question est simple .
Comment représenter cette commande dans une variable perl.
merci.Code:
1
2 awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < fichier-orig.csv > fichier-dest.csv
Tu peux exécuter cette commande par :
D'un autre côté, tu peux faire la même chose en Perl, en one-liner :Code:system( q/awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < fichier-orig.csv > fichier-dest.csv/ );
ou simplement dans un script :Code:perl -F; -ane 'print +(join ";", @F[0,2,3])' fichier-orig.csv > fichier-dest.csv
--Code:
1
2
3
4 while(<>) { my @fields = split /;/; print +(join ";", @fields[0,2,3]); }
Jedaï
c'est cette solution qui m'interesse mais perl prend $1 $3 $4 comme variable ainsi le ";" comme fin de ligne.Code:
1
2 system( q/awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < fichier-orig.csv > fichier-dest.csv/ );
alors je sais pas comment faire
merci
c'est justement pour ça qu'il as répondu
tout ce qui est entre q/ et / n'est pas interpréter par perlCitation:
system( q/awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < fichier-orig.csv > fichier-dest.csv/ );
merci, mais peut etre je suis pas allé au bout de ma question,Code:
1
2 system( q/awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < fichier-orig.csv > fichier-dest.csv/ );
j'aimerais bien savoir comment l'écrire cette fois avec
avec $file doit etre interprété .Code:
1
2 system( q/awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < $file > $file/ );
merci
Un peu d'imagination que diable !!
--Code:
1
2 system( q/awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}'/ . " < $file > $file" );
Jedaï
merci
Bonjour,
je suis novice en perl,
j'aimerai pouvoir entrer comme ligne de commande, le nom de mon script ainsi que quelques options le concernant:
par exemple, afficher un nom et un age, de la manière suivante:
perl mon_script.pl --nom=zzz --age=15
merci d'avance
Les paramètres en PERL peuvent se récupérer directement via le tableau @ARGV.
Mais si tu veux utiliser des paramètres du style --truc=machin regarde le module Getopt::Long.
Un p'tit tutoriel est sur ce site : là . Regarde toujours dans les sources, FAQ !!
Sinon, à l'avenir, je te conseille de créer une discussion par toi même plutôt que de poser ta question à la suite d'une ancienne discussion.
Bonjour, j'ai une petite question (sinon je créerais pas de sujet).
Je vais essayer d'être précis, pour éviter les remous habituels. J'avais un projet à faire. Le résultat est là, tout est fini, mais maintenant j'aimerais "unifier" tout ce que je fais. Et pour ça je cherche un langage si possible que je connais, et obligatoirement gratuit (je préfère préciser).
Dans ce projet, j'ai tout d'abord un peu de batch de-ci de-là (pour parcourir des répertoires et établir des listes de noms de fichiers en XML ; pour créer des dossier).
J'ai ensuite 2-3 transformation XSLT, pour obtenir des fichiers XHTML, à partir des fichiers sources, dont je récupère les noms dans mes ch'tites listes. Je déplace d'autres fichiers (notamment des .jpg).
Et je finis par du post-traitement en Perl (je nettoie un peu mes fichiers).
J'aurai aimé avoir l'ensemble des traitements appelés soit dans un Batch (oui je sais, ce n'est pas le bon forum), soit en Perl (ah ! c'est le bon forum !).
La question est donc simple : Pensez-vous que je puisse réunir tout ce beau monde dans un programme Perl ? J'ai vu quelques sujets approchant de la réponse :
Ici, là et là.
Merci de m'aider dans cette réflexion !!
Note : pour l'instant, j'ai un batch qui appellent tout, mais je ne maîtrise pas ce langage, et j'aimerais faire beaucoup plus... et le beaucoup plus, je l'imagine très bien en Perl !
Tu peux bien évidemment regrouper le tout dans un programme perl qui fera les appels systèmes nécessaires.
Cette affirmation me suffit pour me lancer dedans ! Merci pour ton retour Djibril.
Et pardon d'avoir apparemment créé un sujet dans ce sujet (en même temps il y avait un lien ; on dira que c'était une question subsidiaire).