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:

Mostra esempio

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:

Mostra esempio

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:

Mostra esempio

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:

Mostra esempio

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

Mostra esempio

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 -

Mostra esempio

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.

Mostra esempio

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 -

Mostra esempio

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.

Mostra esempio

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