#!/usr/bin/perl -w
# -w permet de générer des avertissements
@alpha = ('a'..'z'); 
#On définit un tableau qui contient les lettres de 'a' à 'z'
@liste = (@alpha,0..9); 
#On définit un autre tableau qui contient les chiffres de '1' à '9'
$element = $liste[3]; 
#On récupère l'élément du tableau qui a l'indice 3 soit la lettre 'd'
print "$element\n"; 
#On l'écrit
($a, $b, $c, @reste) = @liste ; 
#on met dans $a, l'élément d'indice 0. On met dans $b, l'élément d'indice 1
#on met dans $c, l'élément d'indice 2. On met dans @reste, 
#tous les éléments qui suivent l'élément d'indice 3
print "\$a= $a, \$b= $b, \$c =$c , \@reste= @reste\n";
($b,$a) = ($a,$b);#on inverse les valeurs de $a et $b
print "\$a= $a, \$b= $b \n";
$element = pop @liste; 
#pop retourne le dernier élément du tableau et l'enlève, il enlève donc 9
print "\$element= $element\n, \@liste= @liste\n";#on écrit 9 et tout le reste
$element = shift @liste; 
#shift retourne le premier élément du tableau et l'enlève, il enlève donc a
print "\$element= $element\n, \@liste= @liste\n"; #on écrit a et tout le reste
print "\@alpha est la liste \n@alpha\n";
for ($i=0; $i<26 ; $i++) { #pour toutes les cases (indice 0 à 25) de @alpha fait 
$element= pop @alpha; 
#pop retourne le dernier élément du tableau et l'enlève, il enlève donc 'z' en premier
unshift @alpha, $element; 
#unshift ajoute un élément au début du tableau, il ajoute en premier 'z'
print "\@alpha est cours de route\n@alpha\n";
#permet de voir les mouvements des valeurs
}# cette boucle inverse l'ordre alphabétique puis le remet en place
print "\@alpha est maintenant \n@alpha\n";