[Rio-pm] [HELP] Getopt::Long multiplos parametros por opção

Blabos de Blebe blabos em gmail.com
Qui Set 8 21:19:09 PDT 2016


Bom dia,

Se as únicas opções são os arquivos, você pode utilizar direto o @ARGV.

Se precisar passar mais opções, você pode fazer assim:

https://metacpan.org/pod/Getopt::Long#Options-with-multiple-values

###
#!/usr/bin/env perl

use strict;
use warnings;
use 5.020;

use Getopt::Long;

my @files;
GetOptions("file=s{1,}" => \@files);
say foreach @files;
###

Dentro das chaves vc pode colocar a quantidade, mínima e máxima {min,max},
mas pode também deixar em aberto.

[]'s

2016-09-08 22:04 GMT-03:00 Aureliano Guedes <guedes_1000 em hotmail.com>:

> Monges,
> Boa noite.
>
> Estou tentando fazer um script que abre varios arquivos recebido pela
> linha de comando.
> A ideia é que ele rode com comando semelhante a esse:
> ./programa -f file1 file2 file3 ... filen
> Ou seja, independe da quantidade de arquivos.
>
> eu to tentando algo do tipo:
>
> use Getopt::Long;
> my @files;
> GetOptions(
>     "f=s{2}" => \@files,
> ) or die "erro";
> print $_,"\n" foreach @files;
>
> Porem assim eu tenho que passar exatamente 2 parametros. 1 ou 3 da erro,
> logicamente.
> Eu queria saber como eu faço pra ele ser flexivel para receber 1 ou n
> parametros que o usuário passar.
>
> Como devo fazer?
>
> Abraços,
> Aureliano
>
>
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> Livre
> de vírus. www.avast.com
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>.
>
> <#m_4996570681729084014_m_131141631852599209_DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20160909/69381e27/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm