Latest web development tutorials

Perl-Operatoren

Operator weist den Compiler an, eine bestimmte mathematische oder logische Operation Symbole wie auszuführen: 3 + 2 = 5 ist.

Perl Sprache eine Fülle von Betreibern gebaut, schauen wir auf mehrere gemeinsam:


Arithmetische Operatoren

Formular Beispiel setzen wir die Variable $ 10 ist, $ b 20.

Die Betreiber Beschreibung Beispiele
+ Natter $ A + $ b 30 Ergebnisse
- Subtraktion $ A - $ b das Ergebnis -10
* Multiplikation A * $ b 200 Ergebnisse $
/ Division $ B / $ ein Ergebnis 2
% Modulo-Operation, wobei der Rest nach der teilbaren $ B% $ ein Ergebnis 0
** Potenzierung $ A ** $ b 10 20 te Potenz Ergebnisse

Beispiele

#!/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";

Die obige Programmausführung Ausgabe ist:

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

Vergleich

Formular Beispiel setzen wir die Variable $ 10 ist, $ b 20.

Die Betreiber Beschreibung Beispiele
== Überprüfen Sie den Wert der beiden Operanden gleich sind, wenn sie gleich sind dann die Bedingung wahr ist, sonst false. ($ A == $ b) falsch ist
! = Überprüfen Sie den Wert der beiden Operanden gleich sind, wenn nicht gleich die Bedingung wahr ist, sonst false. ($ A! = $ B) wahr.
<=> Überprüfen Sie den Wert der beiden Operanden gleich sind, wenn die Zahl kleiner als die Zahl auf der linken Seite das Recht auf Rückkehr -1 return 0, wenn sie gleich sind, wenn die Zahl größer ist als die Zahl auf der linken Seite auf das Rückkehrrecht 1. ($ A <=> $ b) -1 zurück.
> Überprüfen Sie den Wert des linken Operanden größer ist als der Wert des rechten Operanden, und wenn die Bedingung wahr ist, sonst false. ($ A> $ b) gibt false zurück.
< den Wert des linken Operanden überprüfen, ist kleiner als der Wert des rechten Operanden, und wenn die Bedingung wahr ist, ansonsten FALSE. ($ A <$ b) gibt true zurück.
> = Überprüfen Sie den Wert des linken Operanden größer oder gleich dem Wert des rechten Operanden, und wenn die Bedingung wahr ist, sonst false. ($ A> = $ b) gibt false zurück.
<= Überprüfen Sie den Wert des linken Operanden kleiner als oder gleich dem Wert des rechten Operanden, und wenn die Bedingung wahr ist, sonst false. . ($ A <= $ b) gibt true zurück.

Beispiele

#!/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";
}

Die obige Programmausführung Ausgabe ist:

$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

Die folgende Tabelle Instanz-Variable $ a wird auf "abc", $ b zu "xyz", dann einen Vergleichsoperator verwenden, um die Ergebnisse zu berechnen.

Die Betreiber Beschreibung Beispiele
lt Überprüfen Sie die Zeichenfolge auf der linken Seite ist kleiner als der String auf der rechten Seite zurück, wenn es wahr ist, sonst false. ($ A $ lt b) gibt true zurück.
gt Prüfen Sie, ob der String auf der linken Seite ist größer als der String auf der rechten Seite zurück, wenn es wahr ist, sonst false. ($ A $ gt b) den Wert false zurück.
le Überprüfen Sie die Zeichenfolge auf der linken Seite kleiner oder gleich der Zeichenfolge auf der rechten Seite, wenn es wahr zurück, andernfalls false. ($ A le $ b) Liefert true
ge Prüfen Sie, ob der String auf der linken Seite größer oder gleich der Zeichenfolge auf der rechten Seite, wenn es wahr zurück, andernfalls false. ($ A $ ge b) den Wert false zurück.
eq Überprüfen Sie die Zeichenfolge in der Zeichenfolge auf der linken Seite nach rechts gleich ist, wenn sie zurückkehren wahr ist, andernfalls false. ($ A eq $ b) den Wert false zurück.
ne die Zeichenfolge auf der linken Seite Überprüfen Sie ist auf die Zeichenfolge auf der rechten Seite nicht gleich zurück, wenn es wahr ist, sonst false. ($ A ne $ b) Liefert true
cmp Wenn die Zeichenfolge größer ist als das Recht der linken Zeichenfolge liefert 1, wenn sie gleich Renditen sind 0, wenn die Zeichenfolge die Zeichenfolge nach rechts von der linken Seite ist kleiner als -1. ($ A cmp $ b) -1 zurück.

Beispiele

#!/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";

Die obige Programmausführung Ausgabe ist:

$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

Zuweisungsoperatoren

Formular Beispiel setzen wir die Variable $ 10 ist, $ b 20.

Die Betreiber Beschreibung Beispiele
= Einfache Zuweisungsoperator, der Wert auf der rechten Operanden dem linken Operand $ C = $ a + $ b $ a + $ b wird der Wert von $ c zuweisen
+ = Kanadische und Zuweisungsoperator, das Ergebnis des linken Operanden auf der rechten Operand dem linken Operand zugewiesen Hinzufügen $ C + = $ a gleich $ c = $ c + $ a
- = Speichern und Zuweisungsoperatoren, der linke Operand auf der rechten Operand subtrahiert weist das Ergebnis linken Operanden $ C - = $ a gleich $ c = $ c - $ a
* = Multiplizieren und Zuweisungsoperator, das Recht des linken Operanden wird durch den Operanden weisen Sie das Ergebnis linken Operanden multipliziert $ C * = $ a gleich $ c = $ c * $ a
/ = Darüber hinaus und Zuweisungsoperatoren, der linke Operand von der rechten Seite des Operanden dividiert weist das Ergebnis linken Operanden $ C / = $ a gleich $ c = $ c / $ a
% = Modulo und Zuweisungsoperator, die Summe von zwei Operanden Form dem linken Operand zugewiesen $ C% = $ a gleich $ c = $ c% a
** = Potenzieren und Zuweisungsoperator, die Summe von zwei Operanden durch die Macht dem linken Operand zugewiesen multipliziert $ C ** = $ a gleich $ c = $ c ** $ a

Beispiele

#!/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";

Die obige Programmausführung Ausgabe ist:

$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-Computing

Bitoperatoren auf dem Bohrmeißel wirkenden, und nach und nach Betrieb.

Einstellung $ a = 60, $ b = 13, jetzt im binären Format dargestellt, sie sind wie folgt:

$a = 0011 1100

$b = 0000 1101

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

$a&$b = 0000 1100

$a|$b = 0011 1101

$a^$b = 0011 0001

~$a  = 1100 0011

Bit-Computing-Unterstützung Perl Symbole wie folgt:

Die Betreiber Beschreibung Beispiele
& Wenn beide in zwei Operanden vorhanden sind, um die binäre AND-Operator ein Ergebnis kopieren. ($ A & $ b) würde 12 sein, auf binäre 0000 1100
| Wenn in beiden Operanden, auf die binäre ODER-Operator ein Ergebnis kopieren. ($ A | $ b) würde 61 sein, ist die binäre 00111101
^ Wenn in einer der Operanden, aber nicht gleichzeitig in zwei Operanden existieren, binäre XOR-Operator zu dem Ergebnis, eine Kopie. ($ A ^ $ b) 49 wäre, ist die binäre 00110001
~ Zweier-Komplement-Operator ist ein unärer Operator, ein "Flip" Positionseffekt. (~ $ A) würde -61, binär 1100 0011 Ergänzung Form von binären Zahl mit Vorzeichen sein.
<< Binary linke Shift-Operator. Der Wert des linken Operanden, um nach links und rechts Operand die angegebene Anzahl von Ziffern. $ A << 2 240 sein wird, ist die binäre 11110000
>> Binary rechte Shift-Operator. Der Wert des linken Operanden nach rechts bewegen Operand die angegebene Anzahl von Bits nach rechts. $ A >> 2 15 sein wird, ist die binäre 0000 1111

Beispiele

#!/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";

Die obige Programmausführung Ausgabe ist:

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

Logische Operatoren

Perl logische Operatoren in der folgenden Tabelle.

Formular Beispiel setzen wir die Variable $ a wahr ist, $ b falsch ist.

Die Betreiber Beschreibung Beispiele
und Logische AND-Operator-Operator. Wenn beide Operanden wahr sind, ist die Bedingung erfüllt. ($ A und $ b) falsch ist.
&& C-Stil logischer AND-Operator-Operator. Wenn beide Operanden wahr sind, ist die Bedingung wahr ($ A && $ b) falsch ist.
oder Logische OR-Operator. Wenn beide Operanden jeder Nicht-Null haben, ist die Bedingung erfüllt. ($ A oder $ b) wahr.
|| C-Stil logischer OR-Operator. Wenn beide Operanden jeder Nicht-Null haben, ist die Bedingung erfüllt. ($ A || $ b) wahr.
nicht Logischer NOT-Operator. Es invertiert den logischen Zustand des Operanden. Wenn die Bedingung erfüllt ist, wird der logische nicht Operator es falsch machen. nicht ($ a und $ b) wahr.

Beispiele

#!/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";

Die obige Programmausführung Ausgabe ist:

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

Zitate Betrieb

Perl zitiert Operatoren in der folgenden Tabelle.

Die Betreiber Beschreibung Beispiele
q {} Die Zeichenfolge mit einem einfachen Anführungszeichen q {abcd} Ergebnisse für 'ABCD'
qq {} Eine Reihe von doppelten Anführungszeichen qq {abcd} Ergebnisse für "ABCD"
qx {} Der String mit einfachen Anführungszeichen qx {abcd} das Ergebnis `abcd`

Beispiele

#!/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";

Die obige Programmausführung Ausgabe ist:

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

Andere Betreiber

Zusätzlich zu dem oben wir Betreiber außerhalb erwähnt, unterstützt Perl auch die folgenden Operatoren:

Die Betreiber Beschreibung Beispiele
. Punkt (.) Verwendet, um zwei Zeichenketten zu verbinden. Wenn $ a = "run", $ b = "OOB", $ a. $ B Ergebnisse für "w3big"
x x-Operator gibt eine Reihe von Wiederholungen. ( '-' X 3) ausgegeben wird ---.
.. .. In einer Reihe von Betreibern. (2..5) Der Ausgang ist (2, 3, 4, 5)
++ Inkrementoperator wird der Integer-Wert um 1 erhöht $ A = 10, $ a ++ ausgibt 11
- Dekrementoperatoren, reduzierte ganzzahligen Wert von 1 $ A = 10, $ A-- Ausgang 9
-> Geben Sie eine Klassenmethode für Arrow $ Obj -> $ eine Darstellung des Objekts $ obj $ eine Methode.

Beispiele

#!/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 = (2..5);
print "(2..5) = @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";

Die obige Programmausführung Ausgabe ist:

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

Operator Präzedenz

Die folgende Tabelle listet die Sprache Perl Operator Vorrang:

Betreiber Betreiber Bindung
++ - keine
-, ~ ,! Von rechts nach links
** Von rechts nach links
= ~! ~ Von links nach rechts
*, /,% X Von links nach rechts
+, - ,. Von links nach rechts
<< >> Von links nach rechts
-e, -r keine
<, <=,>,> =, Lt, le, gt, ge Von links nach rechts
== ,! =, <=>, Eq, ne, cmp Von links nach rechts
& Von links nach rechts
| ^ Von links nach rechts
&& Von links nach rechts
|| Von links nach rechts
.. Von links nach rechts
? Und: Von rechts nach links
=, + =, - =, * =, Von rechts nach links
andere
. Von links nach rechts
nicht Von links nach rechts
und Von links nach rechts
oder, xor Von links nach rechts

Beispiele

#!/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";

Die obige Programmausführung Ausgabe ist:

$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