Perl - Operadores
O que é um operador?
Uma resposta simples pode ser dada usando a expressão 4 + 5 é igual a 9 . Aqui, 4 e 5 são chamados de operandos e + é chamado de operador. A linguagem Perl suporta muitos tipos de operadores, mas a seguir está uma lista de operadores importantes e usados com mais frequência -
- Operadores aritméticos
- Operadores de igualdade
- Operadores lógicos
- Operadores de atribuição
- Operadores bit a bit
- Operadores lógicos
- Operadores de orçamento
- Operadores diversos
Vamos dar uma olhada em todos os operadores, um por um.
Operadores Aritméticos Perl
Suponha que a variável $ a contenha 10 e a variável $ b contenha 20, a seguir estão os operadores aritmáticos Perl -
Mostrar exemplo
Sr. Não. | Operador e descrição |
---|---|
1 | + ( Addition ) Adiciona valores em qualquer lado do operador Example - $ a + $ b dará 30 |
2 | - (Subtraction) Subtrai o operando direito do operando esquerdo Example - $ a - $ b dará -10 |
3 | * (Multiplication) Multiplica os valores em ambos os lados do operador Example - $ a * $ b dará 200 |
4 | / (Division) Divide operando esquerdo pelo operando direito Example - $ b / $ a dará 2 |
5 | % (Modulus) Divide operando esquerdo pelo operando direito e retorna o resto Example - $ b% $ a dará 0 |
6 | ** (Exponent) Executa cálculo exponencial (potência) nos operadores Example - $ a ** $ b dará 10 à potência 20 |
Operadores de igualdade Perl
Eles também são chamados de operadores relacionais. Suponha que a variável $ a tenha 10 e a variável $ b tenha 20, então, vamos verificar os seguintes operadores de igualdade numérica -
Mostrar exemplo
Sr. Não. | Operador e descrição |
---|---|
1 | == (equal to) Verifica se os valores de dois operandos são iguais ou não, se sim a condição torna-se verdadeira. Example - ($ a == $ b) não é verdade. |
2 | != (not equal to) Verifica se o valor de dois operandos é igual ou não; se os valores não são iguais, a condição se torna verdadeira. Example - ($ a! = $ B) é verdadeiro. |
3 | <=> Verifica se o valor de dois operandos é igual ou não e retorna -1, 0 ou 1 dependendo se o argumento esquerdo é numericamente menor, igual ou maior que o argumento direito. Example - ($ a <=> $ b) retorna -1. |
4 | > (greater than) Verifica se o valor do operando esquerdo é maior que o valor do operando direito, se sim, a condição torna-se verdadeira. Example - ($ a> $ b) não é verdade. |
5 | < (less than) Verifica se o valor do operando esquerdo é menor que o valor do operando direito; se sim, a condição torna-se verdadeira. Example - ($ a <$ b) é verdadeiro. |
6 | >= (greater than or equal to) Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito, se sim a condição torna-se verdadeira. Example - ($ a> = $ b) não é verdade. |
7 | <= (less than or equal to) Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito, se sim a condição torna-se verdadeira. Example - ($ a <= $ b) é verdadeiro. |
Abaixo está uma lista de operadores de ações. Suponha que a variável $ a contenha "abc" e a variável $ b contenha "xyz" então, vamos verificar os seguintes operadores de igualdade de string -
Mostrar exemplo
Sr. Não. | Operador e descrição |
---|---|
1 | lt Retorna verdadeiro se o argumento esquerdo for menor que o argumento direito. Example - ($ a lt $ b) é verdadeiro. |
2 | gt Retorna verdadeiro se o argumento esquerdo for stringwise maior que o argumento direito. Example - ($ a gt $ b) é falso. |
3 | le Retorna verdadeiro se o argumento esquerdo for stringwise menor ou igual ao argumento direito. Example - ($ a le $ b) é verdadeiro. |
4 | ge Retorna verdadeiro se o argumento esquerdo for stringwise maior ou igual ao argumento direito. Example - ($ a ge $ b) é falso. |
5 | eq Retorna verdadeiro se o argumento esquerdo for stringwise igual ao argumento direito. Example - ($ a eq $ b) é falso. |
6 | ne Retorna verdadeiro se o argumento esquerdo for stringwise diferente do argumento direito. Example - ($ a ne $ b) é verdade. |
7 | cmp Retorna -1, 0 ou 1, dependendo se o argumento esquerdo é stringwise menor, igual ou maior que o argumento direito. Example - ($ a cmp $ b) é -1. |
Operadores de atribuição Perl
Assuma que a variável $ a contém 10 e a variável $ b contém 20, então abaixo estão os operadores de atribuição disponíveis em Perl e seu uso -
Mostrar exemplo
Sr. Não. | Operador e descrição |
---|---|
1 | = Operador de atribuição simples, atribui valores de operandos do lado direito para operando do lado esquerdo Example - $ c = $ a + $ b será atribuído o valor de $ a + $ b em $ c |
2 | += Adicionar operador de atribuição AND, adiciona o operando direito ao operando esquerdo e atribui o resultado ao operando esquerdo Example - $ c + = $ a é equivalente a $ c = $ c + $ a |
3 | -= Subtrai o operador de atribuição E, subtrai o operando direito do operando esquerdo e atribui o resultado ao operando esquerdo Example - $ c - = $ a é equivalente a $ c = $ c - $ a |
4 | *= Operador de atribuição Multiply AND, multiplica o operando direito pelo operando esquerdo e atribui o resultado ao operando esquerdo Example - $ c * = $ a é equivalente a $ c = $ c * $ a |
5 | /= Operador de atribuição e divisão, divide o operando esquerdo com o operando direito e atribui o resultado ao operando esquerdo Example - $ c / = $ a é equivalente a $ c = $ c / $ a |
6 | %= Módulo E operador de atribuição, leva o módulo usando dois operandos e atribui o resultado ao operando esquerdo Example - $ c% = $ a é equivalente a $ c = $ c% a |
7 | **= Exponente E operador de atribuição, executa cálculo exponencial (potência) nos operadores e atribui valor ao operando esquerdo Example - $ c ** = $ a é equivalente a $ c = $ c ** $ a |
Operadores Perl Bitwise
O operador bit a bit funciona em bits e executa a operação bit a bit. Suponha que $ a = 60; e $ b = 13; Agora, em formato binário, eles serão os seguintes -
$ a = 0011 1100
$ b = 0000 1101
-----------------
$ a & $ b = 0000 1100
$ a | $ b = 0011 1101
$ a ^ $ b = 0011 0001
~ $ a = 1100 0011
Existem os seguintes operadores Bitwise suportados pela linguagem Perl, suponha que se $ a = 60; e $ b = 13
Mostrar exemplo
Sr. Não. | Operador e descrição |
---|---|
1 | & O operador binário AND copia um bit para o resultado se ele existir em ambos os operandos. Example - ($ a & $ b) dará 12, que é 0000 1100 |
2 | | O operador binário OR copia um bit se ele existir no operando eather. Example - ($ a | $ b) dará 61 que é 0011 1101 |
3 | ^ O operador binário XOR copia o bit se estiver definido em um operando, mas não em ambos. Example - ($ a ^ $ b) dará 49, que é 0011 0001 |
4 | ~ O operador de complemento binários é unário e tem o efeito de 'inverter' bits. Example - (~ $ a) resultará em -61 que é 1100 0011 na forma de complemento de 2 devido a um número binário com sinal. |
5 | << Operador binário de deslocamento à esquerda. O valor dos operandos à esquerda é movido para a esquerda pelo número de bits especificado pelo operando à direita. Example - $ a << 2 resultará em 240, que é 1111 0000 |
6 | >> Operador binário de deslocamento à direita. O valor dos operandos à esquerda é movido para a direita pelo número de bits especificado pelo operando à direita. Example - $ a >> 2 resultará em 15, que é 0000 1111 |
Operadores lógicos Perl
Existem os seguintes operadores lógicos suportados pela linguagem Perl. Suponha que a variável $ a seja verdadeira e a variável $ b seja falsa, então -
Mostrar exemplo
Sr. Não. | Operador e descrição |
---|---|
1 | and Operador lógico chamado AND. Se ambos os operandos forem verdadeiros, a condição se torna verdadeira. Example - ($ a e $ b) é falso. |
2 | && O operador E lógico estilo C copia um bit para o resultado se ele existir em ambos os operandos. Example - ($ a && $ b) é falso. |
3 | or Operador lógico ou chamado. Se qualquer um dos dois operandos for diferente de zero, a condição se torna verdadeira. Example - ($ a ou $ b) é verdadeiro. |
4 | || O operador OR lógico estilo C copia um bit se ele existir no operando eather. Example - ($ a || $ b) é verdadeiro. |
5 | not Operador lógico chamado NOT. Use para reverter o estado lógico de seu operando. Se uma condição for verdadeira, o operador lógico NOT tornará falso. Example - not ($ a e $ b) é verdadeiro. |
Operadores de orçamento
Existem os seguintes operadores do tipo Quote suportados pela linguagem Perl. Na tabela a seguir, um {} representa qualquer par de delimitadores que você escolher.
Mostrar exemplo
Sr. Não. | Operador e descrição |
---|---|
1 | q{ } Inclui uma string entre aspas simples Example - q {abcd} dá 'abcd' |
2 | qq{ } Inclui uma string entre aspas duplas Example - qq {abcd} dá "abcd" |
3 | qx{ } Inclui uma string com aspas invertidas Example - qx {abcd} dá `abcd` |
Operadores diversos
Existem diversos operadores suportados pela linguagem Perl. Suponha que a variável a tenha 10 e a variável b tenha 20, então -
Mostrar exemplo
Sr. Não. | Operador e descrição |
---|---|
1 | . O operador binário ponto (.) Concatena duas strings. Example - Se $ a = "abc", $ b = "def" então $ a. $ B dará "abcdef" |
2 | x O operador de repetição x retorna uma string que consiste no operando esquerdo repetido o número de vezes especificado pelo operando direito. Example - ('-' x 3) dará ---. |
3 | .. O operador de intervalo .. retorna uma lista de valores contados (em unidades) do valor esquerdo para o valor direito Example - (2..5) dará (2, 3, 4, 5) |
4 | ++ O operador de incremento automático aumenta o valor inteiro em um Example - $ a ++ dará 11 |
5 | -- O operador Auto Decrement diminui o valor inteiro em um Example - $ a-- dará 9 |
6 | -> O operador de seta é usado principalmente para remover a referência de um método ou variável de um objeto ou nome de classe Example - $ obj -> $ a é um exemplo para acessar a variável $ a do objeto $ obj. |
Precedência de operadores Perl
A tabela a seguir lista todos os operadores da precedência mais alta para a mais baixa.
Mostrar exemplo
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