Perl - Função GetOptions

Publicado por Perfil removido em 26/04/2013

[ Hits: 3.933 ]

 


Perl - Função GetOptions



A função GetOptions() do módulo Getopt::Long, é uma função que ajuda muito quando se quer passar argumentos para o script através da linha de comando.

Exemplo de utilização simples:

#!/usr/bin/perl

use warnings;
use strict;
use Getopt::Long;

my ($arg,$int,$float);  # Declarando variaveis

GetOptions( 'string=s' => \$arg,  # o "s" significa que a variavel é uma string
'inteiro=i' => \$int,  # o "i" significa que a variavel é um inteiro
'float=f' => \$float  # o "f" significa que a variavel é um "ponto flutuante"
);

if(defined($arg) || defined($int) || defined($float)){  # Se os argumentos string, inteiro e float existirem imprime eles na tela
print "string = $arg\ninteiro = $int\nPonto flutuante = $float\n";
} else {
die "Modo de uso : getopt.pl --string <string> --inteiro <numero> --float <numero>";
}


Exemplos de uso:

perl getopt.pl --string LOL --inteiro 1 --float 666
Ou:
perl getopt.pl -string LOL -inteiro 1 -float 666
Ou:
perl getopt.pl --string=LOL --inteiro=1 --float=666

O script irá imprimir:
string = LOL
inteiro = 1
Ponto flutuante = 666

Argumentos sem valor (exemplo: "script.pl --help"):

GetOptions('help' => \$variable);


Argumentos com múltiplos valores (exemplo: "script.pl -host alvo -host alvo2"):

GetOptions('host=s' => \@variable);


Argumentos com múltiplos nomes (exemplo: "script.pl --help" ou "script.pl -h"):

GetOptions('help|h' => \$variable);



É isso aí, não tem muito o que dizer.

A utilização da função GetOptions() é bem simples. Se alguém tiver alguma dúvida, é só falar. *-*

[]'s

Dica também publicada em: The BlackHats: Função Getoptions no Perl

Outras dicas deste autor

P2P completo e sem mistérios

Usando dois ambientes gráficos no Ubuntu: Gnome e KDE

Letras pequenas em sites WEB com Mozilla

Google Chrome no Kali Linux - Vídeo aula

Triplo boot: GNU/Linux, Mac OS X e Windows

Leitura recomendada

Programação Perl para iniciantes

Solicitando uma conta no CPAN para colaborar com módulos Perl

Resgatando dados de um formulário com Ruby e CGI

"Loading Linux..." muito demorado? (LILO)

Já é possível substituir plataformas proprietárias como Windows e MacOSX pelo Linux no Desktop?

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário