Perl
Perl tips & tricks
Variable
Scalaire
Contenant une seule valeure
$
Liste
Example : (‘Toto’, ‘Titi’, ‘Tata’)
@
Hashs
Le type de la variable hashs
%
Example de hashs
my %liste = (
Perl => 'Super',
Python => 'Génial'
);
print ($liste{Python});
Fonctions
split
La fonction split permet de retirer un élèment séparateur :
my @liste = split ’ ‘, $liste_d_element
join
La fonction join permet d’insérer un ou plusieurs élèment séparateur dans une liste d’élèment :
my @liste = join ‘; ‘, @liste_d_element
Pragma
Utiliser les pragma pour sécuriser son script.
strict
Erreur de syntaxe, avoir un code propre
use strict;
warning
Avertissement d’erreur de syntaxe
use warning;
Sucre de syntaxe
Afin d’éviter d’avoir un code illisible avec nos "" ou ‘’, deux méthodes sont applicables dans chacun des cas.
Guillemet
Pour substituer "" :
qq/Chaine de carractère/
Guillement Simple
Pour substituer ’’ :
q/Chaine de carractère/
Liste
Pour substituer une liste (ex : (‘Toto’, ‘Titi’, ‘Tata’)) :
qw/Toto Titi Tata/
Here string
OEF signifiant fin de ligne permet d’englober un parragraphe de données :
my $variable = <<OEF;
ligne 1 de données
ligne 2 de données
...
EOF
Vérifications
Prédica ‘if’
Vérification de l’éxistance d’un élèment.
use strict
my $langages = (
Perl => 'super',
Python => 'geniale',
Ruby => 'ouais',
Pascal => 'bof',
C => 'bof,
'C ++' => 'bof'
);
if (exists $langages{Haskell})
{
print ("Mon langage est ", $langages{Haskell}, "
");
}
elsif (exists $langages{Perl})
(
print ("Mon langage est ", $langages{Perl}, "
");
)
else
{
print "Haskell n'est pas défini !
";
}
Rendre son script intératif
Standard input
Chop retire le dernier carractère
Chomp retire le dernier carractère seulement si celui-ci est un '
'
Noté STDIN
, il sert à poser une question à l’utilisateur:
use strict
my $langages = (
Perl => 'super',
Python => 'geniale',
Ruby => 'ouais',
Pascal => 'bof',
C => 'bof,
'C ++' => 'bof'
);
print "Entrer le nom d'un langage : "
chomp (my $response = <STDIN>);
print ("$response est $langages{$response} !
")
if exists $langages{$response} or die "$response n'éxiste pas !
";
Boucles
For || Foreach
For ou Foreach on la même signification
use stric
my $langages = (
Perl => 'super',
Python => 'geniale',
Ruby => 'ouais',
Pascal => 'bof',
C => 'bof,
'C ++' => 'bof'
);
print "Element : $_
" for (sort keys %langages);
while
Tant que quoi ?
while(<STDIN>) {
chomp;
die "Fin." unless $_; # ou 'last unless $_;' pour quitter la boucle
print "coucou $_";
}
pseaudo case
La fonction case n’éxiste pas mais un bricolage est possible :
print "Entrer un nombre entre 1 et 3 : ";
my $response = <STDIN>;
for ($response) {
$_ == 1 && print "C'est un
"
$_ == 2 && print "C'est deux
"
$_ == 3 && print "C'est trois
"
}
Fichier
Ouvrir un Fichier
‘FILE’ en majuscule -> Convention de Perl
- < = read only
- > = write only
- +> = read / write / del
- » = add only
- +» = read / write / add
Ouvrir un fichier avec :
open FILE <
Librairies
REST
CLIENT
Comment afficher le token géneré :
print $authToken->{'authToken'}, "
";