[Cascavel-pm] Shebang line no Windows [Was: Criando processos através da função open()]

Joao Gabriel C. Laass jaja.gabriel em gmail.com
Terça Fevereiro 19 11:29:47 PST 2008


Sempre usei a shebang line padrão em meu windows.

A um bom tempo eu instalo meu Perl em /usr e não em /Perl (padrão).

Nunca tive problemas ao instalar o Perl em c:\usr...


-- 
Um abraço,
João Gabriel C. Laass






Em 17/02/08, Adriano Ferreira<a.r.ferreira em gmail.com> escreveu:
> 2008/2/17 Nilson Santos Figueiredo Junior <acid06 em gmail.com>:
> > 2008/2/16 Matheus Barros <zoistutz em gmail.com>:
> > > #!C:\Perl\bin\perl.exe -w
> >
> > Você sabe que a shebang line não serve pra nada no Windows[1], certo?
>
> O que não é uma verdade absoluta. Para saber mais, é melhor ler
> "perldoc perlrun" (que é a referência absoluta sobre como funciona o
> interpretador perl com
> respeito à linha de comandos):
>
> http://perldoc.perl.org/perlrun.html (para um versão em HTML)
>
> Por exemplo,
>
> (em um arquivo w.pl)
> #!perl -w
>
> print "warnings ", ( $^W ? 'on' : 'off' ), "\n"
>
> Você poderá perceber que a switch "-w" é respeita e o resultado é
>
> C:> perl w.pl
> warnings on
>
> Um outro ponto é que para scripts instalados através de uma
> distribuição no padrão do CPAN, a shebang line é reescrita contendo o
> path correto que aponta para o interpretador usado na instalação.
>
> Assim a linha
>
> #!/usr/bin/perl
>
> é realmente uma boa prática mesmo para scripts que rodarão apenas em
> Windows com ou sem NTFS.
>
> Adriano.
>
> > O que é considerado como boa prática  é deixá-la como
> >
> >   #!!/usr/bin/perl
> >
> > mesmo para que depois possa ser executado com um ./programa.pl em
> > outros ambientes.
> >
> > [1]: a não ser se você for rodar CGIs em um Apache sob Windows. Nesse
> > caso, o Apache pra Windows interpreta a shebang line. Uma alternativa
> > muito mais interessante, nesse caso, é criar uma estrutura de pastas
> > partindo da raiz do volume onde o apache está instalado e que replica
> > o /usr/bin e depois faz um link pro executável normal (usando o
> > Win32::Hardlink, por exemplo, ou algum utilitário disponível). Dessa
> > maneira você vai ter um /usr/bin/perl em Windows e o Apache vai
> > funcionar perfeitamente com a shebang "padrão". Pouca gente sabe, mas
> > o NTFS possui tanto symlinks como hardlinks, além de outros recursos
> > não utilizados pelo OS.
> >
> > -Nilson Santos F. Jr.
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


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