Skip to content

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}, "\n");
}
elsif (exists $langages{Perl})
(
print ("Mon langage est ", $langages{Perl}, "\n");
)
else
{
print "Haskell n'est pas défini !\n";
}

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 '\n' 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} !\n") 
if exists $langages{$response} or die "$response n'éxiste pas !\n";

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 : $_\n" 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\n"
$_ == 2 && print "C'est deux\n"
$_ == 3 && print "C'est trois\n"
}

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'}, "\n";