Oi Aureliano!

o diamante (<>) pode resolver isso p/ vc.

se vc não passa um arquivo, ele le da stdin:

$ echo "bla" | perl -E 'say while <>'

bla


mas se vc passa um (ou mais) arquivo(s), ele o(s) le:

$ echo test > file$ perl -E 'say while <>' file

test


outras opções que facilitam ainda mais (vc não precisa nem usar o while) é
usar o -n e o -p...





Just another Perl Hacker,
Fernando (SmokeMachine)

Em 10 de novembro de 2016 20:43, Aureliano Guedes <[email protected]>
escreveu:

> Ola monges,
>
>
> Tenho uma pergunta simples pra vocês.
>
>
> Eu tenho um script que abre um arquivo e printa o resultado na saida
> padrão.
>
>
> Os parâmetros adicionais são processados via Getopt::Long;
>
>
> Bom, o que eu queria era fazer algo mais Unix style.
>
>
> Quero poder receber o nome do arquivo para abrir ou poder redirecionar a
> saida padrão pro script caso esteja em um pipeline.
>
>
> Por exemplo, hoje, se eu der um grep em um arquivo pra depois passar pro
> script eu tenho que fazer:
>
> $ grep '<qualquercoisa>' arquivo >arquivo.tmp
>
> $ script.pl arquivo.tmp
>
>
> Eu quero poder fazer algo no estilo
>
> $ grep '<qualquercoisa>' arquivo | script.pl
>
>
> Como eu poderia fazer isso? lembrando que eu posso passar pro script mais
> parametros se precisar
>
>
> Abraços,
>
> _______________________________________________
> Rio-pm mailing list
> [email protected]
> http://mail.pm.org/mailman/listinfo/rio-pm
>
_______________________________________________
Rio-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/rio-pm

Responder a