Juil
21
2009

Trucs Perl


Tailles d’un tableau à 2 dimensions :

# nombre de lignes
my $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;

Au sujet de l'auteur: Olivier Legras

Auteur de ce Blog, je partage quelques unes de mes notes que je juge utile à vous comme à moi. Je suis très heureux de voir que mon blog a de plus en plus d'affluence. Merci à vous!

Laissez un commentaire