A função abs() em Perl

Na linguagem de programação Perl possui a função de abs(). Esta função retorna o módulo do seu argumento.

Aqui está um exemplo:

▶ Run
#!/usr/bin/perl

print abs( -3.14159265358979 );

Este programa exibirá 3.14159265358979.

Argumentos

my $abs_value = abs($value);

Se a função abs() de passar um argumento, a função será a de trabalhar com ele.

Se não passar nenhum argumento, a função irá trabalhar com дефолтной variável $_. Aqui está um exemplo (o programa apresenta o número de 8):

▶ Run
#!/usr/bin/perl

$_ = -8;

print abs();

Se a função abs() de transmitir mais do que um argumento, então o erro será:

Too many arguments for abs at script.pl line 3, near "2)"
Execution of script.pl aborted due to compilation errors.

No caso em função transferida para a cadeia, ele é convertido em um número. Leia mais sobre como Perl converte uma cadeia de caracteres em números.

Aqui está um exemplo de código no qual a função abs() funciona com seqüências de caracteres:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;
use feature qw(say);

say abs('Hello');
say abs('-100asdf');
say abs(' -123JK');

Este programa irá imprimir na tela:

0
100
123
Argument "Hello" isn't numeric in abs at script.pl line 7.
Argument "-100asdf" isn't numeric in abs at script.pl line 8.
Argument " -123JK" isn't numeric in abs at script.pl line 9.

No caso de se usar como argumento undef, a função retornará o número de 0, mas se o código tiver use warnings;, será exibido um aviso Use of uninitialized value in abs at script.pl line 6..

O valor de retorno

A função abs() sempre retorna ser um número não negativo.

A documentação oficial

Aqui está a saída do comando perldoc -f abs:

    abs VALUE
    abs     Returns the absolute value of its argument. If VALUE is omitted,
            uses $_.

Temas relacionados

Outros artigos