FAQ PerlConsultez toutes les FAQ
Nombre d'auteurs : 18, nombre de questions : 250, dernière mise à jour : 29 octobre 2015 Ajouter une question
Bienvenue sur la FAQ Perl. Cette FAQ a pour vocation de vous enseigner ou de vous faire revoir les notions élémentaires de ce fantastique langage. Perl est très utilisé dans différents domaines depuis la gestion système, le réseaux, l'administration de bases de données, le web (CGI), la bureautique, la conception d'interfaces graphiques ou des contextes scientifiques telle la bioinformatique. Nous espérons que cette FAQ vous sera d'une grande utilité.
Vous souhaitez participer à l'amélioration de cette FAQ, n'hésitez pas !! Commentez
Bonne lecture !
Au cours de vos programmes, vous aurez sans doute besoin de paramètres propres à l'utilisateur. Celui-ci aura alors à renseigner au programme ses propres données. Cette interaction, dans sa forme la plus simple, s'effectue via l'entrée standard (le clavier). Pour avoir accès à ce qui est rentré via le clavier, vous aurez besoin de manipuler l'opérateur STDIN :
Code perl : | Sélectionner tout |
1 2 3 4 | print "Rentres une phrase :\n"; $in = <STDIN>; chomp $in; print "$in\n"; |
chomp supprime le dernier caractère d'une chaîne si ce dernier est un retour chariot et elle retourne ce caractère.
Voici quelques explications d'utilisation de la fonction chomp :
Code perl : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | my $chaine = "Bonjour\n"; my $chomp = chomp $chaine; # $chaine = "Bonjour", $chomp = "\n" my $chaine = "tutu\ntoto"; my $chomp = chomp $chaine; # $chaine = "tutu\ntoto", $chomp1 = "" my $chaine = "\n"; my $chomp = chomp $chaine; # $chaine = "", $chomp1 = "" my $chaine = "123"; my $chomp = chomp $chaine; # $chaine = "123", $chomp1 = "" |
Nous avons vu tout à l'heure que l'opérateur (ou handle, cf. les fichiers) STDIN était contenu dans un opérateur dit opérateur diamant <>. Cet opérateur est très utile notamment pour la manipulation des arguments fournis à votre programme. Un argument, pour un programme Perl, désigne un fichier que vous passez en paramètre à votre programme. Votre code lira ainsi le fichier donné :
Code perl : | Sélectionner tout |
perl mon_programme.pl GLDavid djibril gnux 2eurocents
Code perl : | Sélectionner tout |
1 2 3 4 | foreach $ligne (<>) { chomp $ligne; print "$ligne\n"; } |
La sortie standard détermine le média de sortie avec lequel votre programme affichera une information à vos utilisateurs. De manière commune, la sortie standard sera votre écran. Dans nos précédents codes sources, nous avons vu que pour afficher quelque chose, nous avions recours à la fonction print. Cette fonction prend en argument une chaîne de caractères qu'elle affichera sur la sortie standard. Mais elle permet aussi de vous afficher le contenu de variables.
Code perl : | Sélectionner tout |
1 2 3 4 5 | $out = "Bonjour Maître.\n"; print "$out\n"; print "Voici mes maîtres :\n"; @tableau = qw /GLDavid Gnux djibril 2Eurocents/; print "@tableau"; |
Chers pratiquants du C, n'ayez pas peur de Perl ! Vous y retrouverez la première fonction que vous avez utilisée à vos débuts : printf ! Pour les non Cistes (codeurs en C), printf est une fonction permettant d'afficher, certes, sur la sortie standard mais aussi de formater ce que l'on souhaite imprimer. Prenons l'exemple d'un nombre avec décimales. Naturellement, pour certains de ces nombres, on ne veut retenir que quelques chiffres après la partie entière :
Code perl : | Sélectionner tout |
1 2 3 4 5 6 | my $taux = 6.55957; print "Rentre une valeur en euros : "; my $euro = <STDIN>; chomp $euro; my $franc = $euro * $taux; printf "%.3f euros vaut %.3f francs.\n", $euro, $franc; |
Code : | Sélectionner tout |
1 2 | Rentrez une valeur en euros : 12.2 12.200 euros vaut 80.027 francs. |
Au préalable, nous aurons défini le taux de change dans la variable scalaire $taux. La conversion s'effectue et nous affectons à la variable $franc le résultat de la conversion. Notre ligne la plus intéressante est la dernière. Plutôt que d'appeler print, nous voulons seulement retenir trois décimales pour chacune de ces valeurs ($euro et $franc).
A l'aide du drapeau %.3f, nous indiquons à printf que pour les variables $euro et $franc nous ne souhaitons afficher que la partie entière ainsi que les 3 chiffres suivants le séparateur décimal. Notez enfin que vous aurez à déterminer pour chaque variable un drapeau correspondant. Quelques drapeaux :
Drapeau | Signification |
%d | Affiche un entier |
%g | Notation automatique décimale, entière ou exponentielle |
%.3f | Affiche un flottant avec 3 chiffres après le séparateur décimal |
%x | Affiche un hexadécimal |
%o | Affiche un octal |
%s | Affiche une chaîne de caractères |
%10s | Affiche une chaîne de caractères avec une justification de 10 espaces vers la droite |
%-10s | Affiche une chaîne de caractère avec une justification de 10 espaces vers la gauche |
Voir : perldoc perlfunc printf
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.