Trucs Perl

Publié le 21 juillet 2009 par Crocodanser

Tailles d’un tableau à 2 dimensions :

# nombre de lignesmy $nbr_lignes = @MonTableau_2D;   # nombre de colonnes de la ligne 0

my $nbr_colonnes = @{$MonTableau_2D[0]};

Boucle for :

Le Perl dispose de la structure for, qui est une copie de celle du C.

for (initialisation; test; incrémentation)
{
	 première action;
	 deuxième action;
	 etc...

D’abord, l’initialisation est exécutée. Puis, tant que le test est vrai, le bloc d’action est exécuté. Après l’exécution du bloc, on effectue l’incrémentation. Voici un exemple de boucle for, qui affice tous les nombres de 0 à 9 :

for ($i = 0; $i < 10; ++$i) # commence à $i = 0
			    # Continue tant que $i < 10
			    # Incrémente $i avant de répéter.
{
	print "$i\n";
}

Tests

Les branchements suivant dépendent des tests binaires. En Perl, tout nombre non nul, et toute chaîne de caractère non vide est considéré comme vrai. 0 et "" (chaîne vide) sont considéré come vide. Voici quelques tests sur les nombres et chaînes.

$a == $b		# Est-ce que $a est numericalement égal à $b?
		# N'utilisez jamais l'opérateur = (affectation).
$a != $b		#  Est-ce que $a est numericalement différent à  $b?
$a eq $b		#  Est-ce que la chaîne $a est égale à la chaîne $b?
$a ne $b		#  Est-ce que la chaîne $a est différent à la chaîne $b?  

On dispose aussi des opérateur logiques et, ou et non:

($a & $b)		# Est-ce que $a et $b sont vrai?
($a || $b)		# Est-ce que $a ou $b est vrai?
!($a)			# Est-ce que $a est faux?

Hash :

Quand on a un hash de ce type la :

%oid = (
   ifName   => "1.3.6.1.2.1.31.1.1.1.1",

   ifInDiscards   => "1.3.6.1.2.1.2.2.1.13",

   ifInErrors   => "1.3.6.1.2.1.2.2.1.14",

   ifOutDiscards   => "1.3.6.1.2.1.2.2.1.19",

   ifoutErrors   => "1.3.6.1.2.1.2.2.1.20"

   );

Nous voulons récupérer la Description :

@keys = keys %oid;

Toutes les descriptions seront alors dans le tableau @keys.

Récupération des valeurs du hash :

@values = values %ENV;