Esempio di precedenza degli operatori Perl
La tabella seguente elenca tutti gli operatori dalla precedenza più alta al più basso.
left terms and list operators (leftward)
left ->
nonassoc ++ --
right **
right ! ~ \ and unary + and -
left =~ !~
left * / % x
left + - .
left << >>
nonassoc named unary operators
nonassoc < > <= >= lt gt le ge
nonassoc == != <=> eq ne cmp ~~
left &
left | ^
left &&
left || //
nonassoc .. ...
right ?:
right = += -= *= etc.
left , =>
nonassoc list operators (rightward)
right not
left and
left or xor
Esempio
Prova il seguente esempio per comprendere la precedenza di tutti gli operatori Perl in Perl. Copiare e incollare il seguente programma Perl nel file test.pl ed eseguire questo programma.
#!/usr/local/bin/perl
$a = 20;
$b = 10;
$c = 15;
$d = 5;
$e;
print "Value of \$a = $a, \$b = $b, \$c = $c and \$d = $d\n";
$e = ($a + $b) * $c / $d;
print "Value of (\$a + \$b) * \$c / \$d is = $e\n";
$e = (($a + $b) * $c )/ $d;
print "Value of ((\$a + \$b) * \$c) / \$d is = $e\n";
$e = ($a + $b) * ($c / $d);
print "Value of (\$a + \$b) * (\$c / \$d ) is = $e\n";
$e = $a + ($b * $c ) / $d;
print "Value of \$a + (\$b * \$c )/ \$d is = $e\n";
Quando il codice sopra viene eseguito, produce il seguente risultato:
Value of $a = 20, $b = 10, $c = 15 and $d = 5
Value of ($a + $b) * $c / $d is = 90
Value of (($a + $b) * $c) / $d is = 90
Value of ($a + $b) * ($c / $d ) is = 90
Value of $a + ($b * $c )/ $d is = 50