[Cascavel-pm] Idiomas para open()... [Was: Perl]

Adriano Ferreira a.r.ferreira em gmail.com
Terça Novembro 28 03:20:44 PST 2006


On 11/28/06, Luis Motta Campos <luismottacampos em yahoo.co.uk> wrote:
>   Isto não merece ser protegido contra "corpos estranhos"??

Não. Porque não é necessário. Acabei de fazer um teste em uma máquina
HP-UX (que deve se comportar como a maioria dos Unix por aí afora).
Escrevi este script ("touch.pl").

    #!/usr/bin/perl

    my $fn = shift;

    open F, '>', $fn or die "can't open $fn: $!\n";
    close F;
    # open seguido de F comporta-se como um touch

E coloquei-o no diretório /tmp/tmp (inicialmente vazio).

    $ ll
    total 16
    -rw-r--r--   1 foo        foobar         178 Nov 28 09:12 touch.pl

Executei

    $ perl touch.pl "| cat"
    $ perl touch.pl "ls |"

e voilà!

    $ ll
    total 16
    -rw-rw-rw-   1 sgv        tomcat           0 Nov 28 09:17 ls |
    -rw-r--r--   1 sgv        tomcat         178 Nov 28 09:12 touch.pl
    -rw-rw-rw-   1 sgv        tomcat           0 Nov 28 09:16 | cat

Os arquivos de nomes estranhos "ls |" e "| cat" foram criados.

O perl usado foi

    $ perl -v

    This is perl, v5.8.2 built for PA-RISC1.1-thread-multi


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