Le meilleur didacticiel Les opérateurs Perl en 2024, dans ce didacticiel, vous pouvez apprendre Les opérateurs arithmétiques,comparaison,Opérateurs d'affectation,Bit informatique,opérateurs logiques,opération Quotes,D'autres opérateurs,Préséance de l'opérateur,

Les opérateurs Perl

Opérateur indique au compilateur d'effectuer un des symboles d'opération mathématiques ou logiques spécifiques tels que: 3 + 2 = 5.

langage Perl construit une multitude d'opérateurs, nous examinons plusieurs communes:


Les opérateurs arithmétiques

Exemple de formulaire nous avons mis la variable $ a est 10, b $ 20.

opérateurs description Exemples
+ additionneur $ A + $ b 30 résultats
- soustraction $ A - $ b le résultat est -10
* multiplication $ A $ * b 200 Résultats
/ division $ B / $ suite 2
% opération Modulo, le reste après la divisible $ B% $ suite est 0
** Exponentiation $ A $ ** b 10 résultats de puissance 20 e

Exemples

#!/usr/bin/perl
 
$a = 10;
$b = 20;

print "\$a = $a , \$b = $b\n";

$c = $a + $b;
print '$a + $b = ' . $c . "\n";

$c = $a - $b;
print '$a - $b = ' . $c . "\n";

$c = $a * $b;
print '$a * $b = ' . $c . "\n";

$c = $a / $b;
print '$a / $b = ' . $c . "\n";

$c = $a % $b;
print '$a % $b = ' . $c. "\n";

$a = 2;
$b = 4;
$c = $a ** $b;
print '$a ** $b = ' . $c . "\n";

La sortie de l'exécution du programme ci-dessus est la suivante:

$a = 10 , $b = 20
$a + $b = 30
$a - $b = -10
$a * $b = 200
$a / $b = 0.5
$a % $b = 10
$a ** $b = 16

comparaison

Exemple de formulaire nous avons mis la variable $ a est 10, b $ 20.

opérateurs description Exemples
== Vérifiez la valeur des deux opérandes sont égaux, si elles sont égales alors la condition est vraie, sinon false. ($ A == $ b) est fausse
! = Vérifiez la valeur des deux opérandes sont égaux, sinon la condition égale est vrai, sinon faux. ($ A! = $ B) est vrai.
<=> Vérifier la valeur des deux opérandes sont égaux, si le nombre est inférieur au nombre à la gauche de la droite de retour -1 retour 0 si elles sont égales, si le nombre est supérieur au nombre de gauche à droite de retour 1. ($ A $ <=> b) retourner -1.
> Vérifiez la valeur de l'opérande de gauche est supérieure à la valeur de l'opérande de droite, et si la condition est vraie, sinon false. ($ A> $ b) retourne false.
< Vérifiez la valeur de l'opérande de gauche est inférieure à la valeur de l'opérande de droite, et si la condition est vraie, sinon false. ($ A <$ b) retourne vrai.
> = Vérifiez la valeur de l'opérande gauche est supérieure ou égale à la valeur de l'opérande de droite, et si la condition est vraie, sinon false. ($ A> = $ b) retourne false.
<= Vérifiez la valeur de l'opérande gauche est inférieure ou égale à la valeur de l'opérande de droite, et si la condition est vraie, sinon false. . ($ A <= $ b) retourne vrai.

Exemples

#!/usr/bin/perl
 
$a = 10;
$b = 20;

print "\$a = $a , \$b = $b\n";

if( $a == $b ){
   print "$a == \$b 结果 true\n";
}else{
   print "\$a == \$b 结果 false\n";
}

if( $a != $b ){
   print "\$a != \$b 结果 true\n";
}else{
   print "\$a != \$b 结果 false\n";
}

$c = $a <=> $b;
print "\$a <=> \$b 返回 $c\n";

if( $a > $b ){
   print "\$a > \$b 结果 true\n";
}else{
   print "\$a > \$b 结果 false\n";
}

if( $a >= $b ){
   print "\$a >= \$b 结果 true\n";
}else{
   print "\$a >= \$b 结果 false\n";
}

if( $a < $b ){
   print "\$a < \$b 结果 true\n";
}else{
   print "\$a < \$b 结果 false\n";
}

if( $a <= $b ){
   print "\$a <= \$b 结果 true\n";
}else{
   print "\$a <= \$b 结果 false\n";
}

La sortie de l'exécution du programme ci-dessus est la suivante:

$a = 10 , $b = 20
$a == $b 结果 false
$a != $b 结果 true
$a <=> $b 返回 -1
$a > $b 结果 false
$a >= $b 结果 false
$a < $b 结果 true
$a <= $b 结果 true

L'instance suivante table $ variable a est réglé sur "abc", $ b pour "xyz", puis utiliser un opérateur de comparaison pour calculer les résultats.

opérateurs description Exemples
lt Vérifiez la chaîne de gauche est inférieure à la chaîne sur le droit de revenir si elle est vraie, sinon false. ($ A $ lt b) renvoie true.
gt Vérifiez si la chaîne sur la gauche est supérieure à la corde sur le droit de revenir si elle est vraie, sinon false. ($ A $ gt b) retourne false.
le Vérifiez la chaîne sur la gauche est inférieure ou égale à la chaîne sur la droite, si elle retourne vrai, sinon retourne false. ($ A le b $) Renvoie true
ge Vérifiez si la chaîne sur la gauche est supérieure ou égale à la chaîne sur la droite, si elle retourne vrai, sinon retourne false. ($ A $ ge b) retourne false.
eq Vérifiez la chaîne est égale à la chaîne sur la gauche vers la droite, si elle est de retourner vrai, sinon retourne false. ($ A $ eq b) retourne false.
ne Vérifiez la chaîne sur la gauche ne correspond pas à la chaîne sur le droit de revenir si elle est vraie, sinon false. ($ A ne $ b) Retourne true
cmp Si la chaîne est supérieure à la droite de la chaîne gauche renvoie 1 si elles sont égales retourne 0 si la chaîne est la chaîne à droite de la gauche est inférieure à -1. ($ A cmp $ b) retourner -1.

Exemples

#!/usr/bin/perl
 
$a = "abc";
$b = "xyz";

print "\$a = $a ,\$b = $b\n";

if( $a lt $b ){
   print "$a lt \$b 返回 true\n";
}else{
   print "\$a lt \$b 返回 false\n";
}

if( $a gt $b ){
   print "\$a gt \$b 返回 true\n";
}else{
   print "\$a gt \$b 返回 false\n";
}

if( $a le $b ){
   print "\$a le \$b 返回 true\n";
}else{
   print "\$a le \$b 返回 false\n";
}

if( $a ge $b ){
   print "\$a ge \$b 返回 true\n";
}else{
   print "\$a ge \$b 返回 false\n";
}

if( $a ne $b ){
   print "\$a ne \$b 返回 true\n";
}else{
   print "\$a ne \$b 返回 false\n";
}

$c = $a cmp $b;
print "\$a cmp \$b 返回 $c\n";

La sortie de l'exécution du programme ci-dessus est la suivante:

$a = abc ,$b = xyz
abc lt $b 返回 true
$a gt $b 返回 false
$a le $b 返回 true
$a ge $b 返回 false
$a ne $b 返回 true
$a cmp $b 返回 -1

Opérateurs d'affectation

Exemple de formulaire nous avons mis la variable $ a est 10, b $ 20.

opérateurs description Exemples
= opérateur d'affectation simple, la valeur sur l'opérande droit à l'opérande gauche $ C = $ a + $ b $ a + $ b affectera la valeur de $ c
+ = opérateur canadien et de la cession, le résultat de l'addition de l'opérande gauche vers la droite opérande affecté à l'opérande de gauche $ C + = $ a est égal à $ c = $ c + $ par
- = Enregistrer et opérateurs d'affectation, l'opérande gauche vers la droite opérande est soustrait affecter le résultat à l'opérande gauche $ C - = $ a est égal à $ c = $ c - $ a
* = Multiplier et opérateur d'affectation, le droit de l'opérande gauche est multiplié par l'opérande affecter le résultat à l'opérande gauche $ C * = $ a est égal à $ c = $ c * $ a
/ = Dans les opérateurs d'addition et d'affectation, l'opérande gauche divisé par le droit de l'opérande affecter le résultat à l'opérande gauche $ C / = $ a est égal à $ c = $ c / $ a
% = Modulo et opérateur d'affectation, la somme de deux opérandes moule affecté à l'opérande de gauche $ C% = $ a est égal à $ c = $ c% par
** = Exponentiation et d'affectation, la somme des deux opérandes, multiplié par la puissance assignée à l'opérande gauche $ C ** = $ a est égal à $ c = $ c ** $ par

Exemples

#!/usr/bin/perl
 
$a = 10;
$b = 20;

print "\$a = $a ,\$b = $b\n";

$c = $a + $b;
print "赋值后 \$c = $c\n";

$c += $a;
print "\$c = $c ,运算语句 \$c += \$a\n";

$c -= $a;
print "\$c = $c ,运算语句 \$c -= \$a\n";

$c *= $a;
print "\$c = $c ,运算语句 \$c *= \$a\n";

$c /= $a;
print "\$c = $c ,运算语句 \$c /= \$a\n";

$c %= $a;
print "\$c = $c ,运算语句 \$c %= \$a\n";

$c = 2;
$a = 4;
print "\$a = $a , \$c = $c\n";
$c **= $a;
print "\$c = $c ,运算语句 \$c **= \$a\n";

La sortie de l'exécution du programme ci-dessus est la suivante:

$a = 10 ,$b = 20
赋值后 $c = 30
$c = 40 ,运算语句 $c += $a
$c = 30 ,运算语句 $c -= $a
$c = 300 ,运算语句 $c *= $a
$c = 30 ,运算语句 $c /= $a
$c = 0 ,运算语句 $c %= $a
$a = 4 , $c = 2
$c = 16 ,运算语句 $c **= $a

Bit informatique

Opérateurs binaires agissant sur le bit et bit par opération binaire.

Réglage $ a = 60, b = $ 13, maintenant représenté au format binaire, ils sont comme suit:

$a = 0011 1100

$b = 0000 1101

-----------------

$a&$b = 0000 1100

$a|$b = 0011 1101

$a^$b = 0011 0001

~$a  = 1100 0011

Bit support informatique symboles Perl comme suit:

opérateurs description Exemples
& Si les deux existent en deux opérandes, le binaire opérateur AND pour copier un résultat. ($ A & $ b) serait de 12, en binaire 0000 1100
| Si elle est présente dans l'une des opérandes, le binaire opérateur OR pour copier un résultat. ($ A | $ b) serait 61, le binaire est 00111101
^ Si elle est présente dans l'un des opérandes, mais pas exister simultanément dans deux opérandes, l'opérateur XOR binaire copie au résultat. ($ A ^ b $) serait 49, le binaire est 00110001
~ Twos opérateur de complément est un opérateur unaire, un "flip" effet de position. (~ $ A) serait -61, binaire 1100 0011 sous forme de complément de nombre binaire avec signe.
<< opérateur de décalage gauche binaire. La valeur de l'opérande gauche pour aller à gauche et à droite opérande le nombre de chiffres spécifié. $ A << 2 sera 240, le binaire est 11110000
>> opérateur de décalage à droite binaire. La valeur de l'opérande gauche déplacer opérande de droite le nombre spécifié de bits vers la droite. $ A >> 2 sera 15, le binaire est 0000 1111

Exemples

#!/usr/bin/perl
 
use integer;
 
$a = 60;
$b = 13;

print "\$a = $a , \$b = $b\n";

$c = $a & $b;
print "\$a & \$b = $c\n";

$c = $a | $b;
print "\$a | \$b = $c\n";

$c = $a ^ $b;
print "\$a ^ \$b = $c\n";

$c = ~$a;
print "~\$a = $c\n";

$c = $a << 2;
print "\$a << 2 = $c\n";

$c = $a >> 2;
print "\$a >> 2 = $c\n";

La sortie de l'exécution du programme ci-dessus est la suivante:

$a = 60 , $b = 13
$a & $b = 12
$a | $b = 61
$a ^ $b = 49
~$a = -61
$a << 2 = 240
$a >> 2 = 15

opérateurs logiques

Perl opérateurs logiques dans le tableau suivant.

Exemple de formulaire nous avons mis la variable $ a est vraie, $ b est fausse.

opérateurs description Exemples
et Opérateur logique opérateur AND. Si les deux opérandes sont vraies, la condition est vraie. ($ A et $ b) est fausse.
&& C-style opérateur logique AND. Si les deux opérandes sont vraies, la condition est vraie ($ A $ && b) est fausse.
ou OU logique opérateur. Si les deux opérandes ont une non-zéro, la condition est vraie. ($ A ou $ b) est vrai.
|| Logique style C opérateur OR. Si les deux opérandes ont une non-zéro, la condition est vraie. ($ A || $ b) est vrai.
pas NON logique opérateur. Il inverse l'état de l'opérande logique. Si la condition est vraie, l'opérateur logique not fera à false. pas ($ a et $ b) est vrai.

Exemples

#!/usr/bin/perl
 
$a = true;
$b = false;

print "\$a = $a , \$b = $b\n";

$c = ($a and $b);
print "\$a and \$b = $c\n";

$c = ($a  && $b);
print "\$a && \$b = $c\n";

$c = ($a or $b);
print "\$a or \$b = $c\n";

$c = ($a || $b);
print "\$a || \$b = $c\n";

$a = 0;
$c = not($a);
print "not(\$a)= $c\n";

La sortie de l'exécution du programme ci-dessus est la suivante:

$a = true , $b = false
$a and $b = false
$a && $b = false
$a or $b = true
$a || $b = true
not($a)= 1

opération Quotes

Perl cite les opérateurs dans le tableau suivant.

opérateurs description Exemples
q {} La chaîne avec une seule citation q {abcd} résultats pour 'abcd'
qq {} Une chaîne de guillemets qq {abcd} résultats pour "abcd"
qx {} La chaîne avec backquotes qx {abcd} le résultat est `abcd`

Exemples

#!/usr/bin/perl
 
$a = 10;
 
$b = q{a = $a};
print "q{a = \$a} = $b\n";

$b = qq{a = $a};
print "qq{a = \$a} = $b\n";

# 使用 unix 的 date 命令执行
$t = qx{date};
print "qx{date} = $t\n";

La sortie de l'exécution du programme ci-dessus est la suivante:

q{a = $a} = a = $a
qq{a = $a} = a = 10
qx{date} = 2016年 6月10日 星期五 16时22分33秒 CST

D'autres opérateurs

En plus de ce qui précède nous avons mentionné les opérateurs en dehors, Perl prend également en charge les opérateurs suivants:

opérateurs description Exemples
. Dot (.) Est utilisé pour connecter deux chaînes. Si $ a = "run", $ b = "oob", $ a. Résultats $ B pour "w3big"
x x l'opérateur retourne une chaîne de répétitions. ( '-' X 3) sortie est ---.
fr fr Dans une gamme d'opérateurs. (2fr5) La sortie est (2, 3, 4, 5)
++ opérateur incrément, la valeur entière est incrémenté de 1 $ A = 10, $ a ++ va afficher 11
- opérateurs Décrément, valeur entière réduites de 1 $ A = 10, $ a-- sortie 9
-> Spécifiez une méthode de classe pour Arrow $ Obj -> $ une représentation de l'objet $ obj $ une méthode.

Exemples

#!/usr/bin/perl
 
$a = "run";
$b = "oob";

print "\$a  = $a , \$b = $b\n";
 
$c = $a . $b;
print "\$a . \$b = $c\n";

$c = "-" x 3;
print "\"-\" x 3 = $c\n";

@c = (2fr5);
print "(2fr5) = @c\n";

$a = 10;
$b = 15;
print "\$a  = $a , \$b = $b\n";

$a++;
$c = $a ;
print "\$a 执行 \$a++ = $c\n";

$b--;
$c = $b ;
print "\$b 执行 \$b-- = $c\n";

La sortie de l'exécution du programme ci-dessus est la suivante:

$a  = run , $b = oob
$a . $b = w3big
"-" x 3 = ---
(2fr5) = 2 3 4 5
$a  = 10 , $b = 15
$a 执行 $a++ = 11
$b 执行 $b-- = 14

Préséance de l'opérateur

Le tableau suivant indique le Perl opérateur de langue priorité:

opérateur Opérateurs reliure
++ - aucun
-, ~ ,! De droite à gauche
** De droite à gauche
= ~! ~ De gauche à droite
*, /,%, X De gauche à droite
+, - ,. De gauche à droite
<< >> De gauche à droite
-e, -r, aucun
<, <=,>,> =, Lt, le, gt, ge De gauche à droite
== ,! =, <=>, Eq, ne, cmp De gauche à droite
& De gauche à droite
|, ^ De gauche à droite
&& De gauche à droite
|| De gauche à droite
fr De gauche à droite
? Et: De droite à gauche
= + = - = * =, De droite à gauche
autre
, De gauche à droite
pas De gauche à droite
et De gauche à droite
ou, xor De gauche à droite

Exemples

#!/usr/bin/perl
 
$a = 20;
$b = 10;
$c = 15;
$d = 5;
$e;

print "\$a  = $a, \$b = $b, \$c = $c ,\$d = $d\n";
 
$e = ($a + $b) * $c / $d;
print "(\$a + \$b) * \$c / \$d  = $e\n";

$e = (($a + $b) * $c )/ $d;
print "((\$a + \$b) * \$c) / \$d  = $e\n";

$e = ($a + $b) * ($c / $d);
print "(\$a + \$b) * (\$c / \$d )  = $e\n";

$e = $a + ($b * $c ) / $d;
print "\$a + (\$b * \$c )/ \$d  = $e\n";

La sortie de l'exécution du programme ci-dessus est la suivante:

$a  = 20, $b = 10, $c = 15 ,$d = 5
($a + $b) * $c / $d  = 90
(($a + $b) * $c) / $d  = 90
($a + $b) * ($c / $d )  = 90
$a + ($b * $c )/ $d  = 50
Les opérateurs Perl
10/30