Perl - Operatori
Cos'è un operatore?
La risposta semplice può essere data usando l'espressione 4 + 5 è uguale a 9 . Qui 4 e 5 sono chiamati operandi e + è chiamato operatore. Il linguaggio Perl supporta molti tipi di operatori, ma di seguito è riportato un elenco di operatori importanti e utilizzati più di frequente:
- Operatori aritmetici
- Operatori di uguaglianza
- Operatori logici
- Operatori di assegnazione
- Operatori bit per bit
- Operatori logici
- Operatori simili a virgolette
- Operatori vari
Diamo uno sguardo a tutti gli operatori uno per uno.
Operatori aritmetici Perl
Supponiamo che la variabile $ a contenga 10 e la variabile $ b ne contenga 20, quindi i seguenti sono gli operatori aritmatici Perl:
Sr.No. | Operatore e descrizione |
---|---|
1 | + ( Addition ) Aggiunge valori su entrambi i lati dell'operatore Example - $ a + $ b darà 30 |
2 | - (Subtraction) Sottrae l'operando di destra dall'operando di sinistra Example - $ a - $ b darà -10 |
3 | * (Multiplication) Moltiplica i valori su entrambi i lati dell'operatore Example - $ a * $ b darà 200 |
4 | / (Division) Divide l'operando sinistro per l'operando destro Example - $ b / $ a darà 2 |
5 | % (Modulus) Divide l'operando di sinistra per l'operando di destra e restituisce il resto Example - $ b% $ a darà 0 |
6 | ** (Exponent) Esegue il calcolo esponenziale (potenza) sugli operatori Example - $ a ** $ b darà 10 alla potenza 20 |
Operatori di uguaglianza Perl
Questi sono anche chiamati operatori relazionali. Supponiamo che la variabile $ a contenga 10 e la variabile $ b ne contenga 20, quindi controlliamo i seguenti operatori di uguaglianza numerica:
Sr.No. | Operatore e descrizione |
---|---|
1 | == (equal to) Controlla se il valore di due operandi è uguale o meno, in caso affermativo la condizione diventa vera. Example - ($ a == $ b) non è vero. |
2 | != (not equal to) Controlla se il valore di due operandi è uguale o meno, se i valori non sono uguali la condizione diventa vera. Example - ($ a! = $ B) è vero. |
3 | <=> Controlla se il valore di due operandi è uguale o meno e restituisce -1, 0 o 1 a seconda che l'argomento di sinistra sia numericamente minore, uguale o maggiore dell'argomento destro. Example - ($ a <=> $ b) restituisce -1. |
4 | > (greater than) Controlla se il valore dell'operando sinistro è maggiore del valore dell'operando destro, in caso affermativo la condizione diventa vera. Example - ($ a> $ b) non è vero. |
5 | < (less than) Controlla se il valore dell'operando sinistro è inferiore al valore dell'operando destro, in caso affermativo la condizione diventa vera. Example - ($ a <$ b) è vero. |
6 | >= (greater than or equal to) Controlla se il valore dell'operando sinistro è maggiore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. Example - ($ a> = $ b) non è vero. |
7 | <= (less than or equal to) Controlla se il valore dell'operando sinistro è minore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. Example - ($ a <= $ b) è vero. |
Di seguito è riportato un elenco di operatori azionari. Supponiamo che la variabile $ a contenga "abc" e la variabile $ b contenga "xyz" quindi, controlliamo i seguenti operatori di uguaglianza delle stringhe:
Sr.No. | Operatore e descrizione |
---|---|
1 | lt Restituisce vero se l'argomento di sinistra è inferiore in senso stringa rispetto all'argomento di destra. Example - ($ a lt $ b) è vero. |
2 | gt Restituisce vero se l'argomento di sinistra è maggiore in senso stringa dell'argomento di destra. Example - ($ a gt $ b) è falso. |
3 | le Restituisce vero se l'argomento di sinistra è inferiore o uguale all'argomento di destra in senso stringa. Example - ($ a le $ b) è vero. |
4 | ge Restituisce vero se l'argomento di sinistra è maggiore o uguale all'argomento di destra in senso stringa. Example - ($ a ge $ b) è falso. |
5 | eq Restituisce vero se l'argomento di sinistra è uguale all'argomento di destra in senso stringa. Example - ($ a eq $ b) è falso. |
6 | ne Restituisce vero se l'argomento di sinistra è stringa diverso dall'argomento di destra. Example - ($ a ne $ b) è vero. |
7 | cmp Restituisce -1, 0 o 1 a seconda che l'argomento di sinistra sia minore, uguale o maggiore dell'argomento di destra in senso stringa. Example - ($ a cmp $ b) è -1. |
Operatori di assegnazione Perl
Supponiamo che la variabile $ a contenga 10 e la variabile $ b ne contenga 20, quindi di seguito sono riportati gli operatori di assegnazione disponibili in Perl e il loro utilizzo:
Sr.No. | Operatore e descrizione |
---|---|
1 | = Operatore di assegnazione semplice, Assegna i valori dagli operandi del lato destro all'operando del lato sinistro Example - $ c = $ a + $ b verrà assegnato il valore di $ a + $ b in $ c |
2 | += Aggiungi operatore di assegnazione AND, aggiunge l'operando destro all'operando sinistro e assegna il risultato all'operando sinistro Example - $ c + = $ a è equivalente a $ c = $ c + $ a |
3 | -= Sottrai AND operatore di assegnazione, sottrae l'operando destro dall'operando sinistro e assegna il risultato all'operando sinistro Example - $ c - = $ a è equivalente a $ c = $ c - $ a |
4 | *= Moltiplica l'operatore di assegnazione AND, moltiplica l'operando destro con l'operando sinistro e assegna il risultato all'operando sinistro Example - $ c * = $ a è equivalente a $ c = $ c * $ a |
5 | /= Divide AND operatore di assegnazione, divide l'operando sinistro con l'operando destro e assegna il risultato all'operando sinistro Example - $ c / = $ a è equivalente a $ c = $ c / $ a |
6 | %= Modulo AND operatore di assegnazione, richiede il modulo utilizzando due operandi e assegna il risultato all'operando sinistro Example - $ c% = $ a è equivalente a $ c = $ c% a |
7 | **= Operatore di assegnazione AND esponente, esegue il calcolo esponenziale (potenza) sugli operatori e assegna un valore all'operando sinistro Example - $ c ** = $ a è equivalente a $ c = $ c ** $ a |
Operatori bit per bit Perl
L'operatore bit per bit lavora sui bit ed esegue l'operazione bit per bit. Supponiamo se $ a = 60; e $ b = 13; Ora in formato binario saranno i seguenti:
$ a = 0011 1100
$ b = 0000 1101
-----------------
$ a & $ b = 0000 1100
$ a | $ b = 0011 1101
$ a ^ $ b = 0011 0001
~ $ a = 1100 0011
Ci sono i seguenti operatori bit per bit supportati dal linguaggio Perl, supponiamo se $ a = 60; e $ b = 13
Sr.No. | Operatore e descrizione |
---|---|
1 | & L'operatore AND binario copia un po 'nel risultato se esiste in entrambi gli operandi. Example - ($ a & $ b) darà 12 che è 0000 1100 |
2 | | L'operatore OR binario copia un po 'se esiste nell'operando eather. Example - ($ a | $ b) restituirà 61 che è 0011 1101 |
3 | ^ L'operatore XOR binario copia il bit se è impostato in un operando ma non in entrambi. Example - ($ a ^ $ b) restituirà 49 che è 0011 0001 |
4 | ~ Binary Ones Complement Operator è unario e ha l'effetto di "lanciare" i bit. Example - (~ $ a) darà -61 che è 1100 0011 in forma di complemento a 2 a causa di un numero binario con segno. |
5 | << Operatore binario di spostamento sinistro. Il valore dell'operando sinistro viene spostato a sinistra del numero di bit specificato dall'operando destro. Example - $ a << 2 darà 240 che è 1111 0000 |
6 | >> Operatore binario di spostamento a destra. Il valore dell'operando sinistro viene spostato a destra del numero di bit specificato dall'operando destro. Example - $ a >> 2 darà 15 che è 0000 1111 |
Operatori logici Perl
Ci sono i seguenti operatori logici supportati dal linguaggio Perl. Supponiamo che la variabile $ a sia vera e la variabile $ b sia falsa allora -
Sr.No. | Operatore e descrizione |
---|---|
1 | and Chiamato operatore AND logico. Se entrambi gli operandi sono veri, la condizione diventa vera. Example - ($ a e $ b) è falso. |
2 | && L'operatore AND logico in stile C copia un po 'nel risultato se esiste in entrambi gli operandi. Example - ($ a && $ b) è falso. |
3 | or Chiamato Operatore OR logico. Se uno dei due operandi è diverso da zero, la condizione diventa vera. Example - ($ a o $ b) è vero. |
4 | || L'operatore OR logico in stile C copia un bit se esiste nell'operando eather. Example - ($ a || $ b) è vero. |
5 | not Chiamato operatore NOT logico. Utilizzare per invertire lo stato logico del suo operando. Se una condizione è vera, l'operatore NOT logico la renderà falsa. Example - not ($ a and $ b) è vero. |
Operatori simili a virgolette
Ci sono i seguenti operatori simili a quote supportati dal linguaggio Perl. Nella tabella seguente, un {} rappresenta qualsiasi coppia di delimitatori scelti.
Sr.No. | Operatore e descrizione |
---|---|
1 | q{ } Racchiude una stringa con virgolette singole Example - q {abcd} restituisce "abcd" |
2 | qq{ } Racchiude una stringa con virgolette doppie Example - qq {abcd} restituisce "abcd" |
3 | qx{ } Racchiude una stringa con virgolette invertite Example - qx {abcd} restituisce `abcd` |
Operatori vari
Ci sono i seguenti operatori vari supportati dal linguaggio Perl. Supponiamo che la variabile a contenga 10 e la variabile b contenga 20, quindi -
Sr.No. | Operatore e descrizione |
---|---|
1 | . L'operatore binario punto (.) Concatena due stringhe. Example - Se $ a = "abc", $ b = "def" allora $ a. $ B darà "abcdef" |
2 | x L'operatore di ripetizione x restituisce una stringa composta dall'operando sinistro ripetuto il numero di volte specificato dall'operando destro. Example - ('-' x 3) darà ---. |
3 | .. L'operatore di intervallo .. restituisce un elenco di valori contando (aumentando di uno) dal valore sinistro al valore destro Example - (2..5) darà (2, 3, 4, 5) |
4 | ++ L'operatore Incremento automatico aumenta il valore intero di uno Example - $ a ++ darà 11 |
5 | -- L'operatore di decremento automatico riduce il valore intero di uno Example - $ a-- darà 9 |
6 | -> L'operatore freccia viene utilizzato principalmente per dereferenziare un metodo o una variabile da un oggetto o dal nome di una classe Example - $ obj -> $ a è un esempio per accedere alla variabile $ a dall'oggetto $ obj. |
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