Qual versão do Perl devo usar no Windows? [fechadas]

98

O site win32.perl.org fornece referências a várias distribuições Perl para MS Windows.

Há muito tempo que uso o ActivePerl do ActiveState, mas recentemente mudei para o Strawberry Perl .

IMHO A única vantagem que o Active Perl ainda tem sobre o Strawberry Perl é o fato de ele vir com o Perl Tk, o que significa que é fácil instalar o Devel :: ptkdb o depurador gráfico. Fora isso, acho que o Strawberry Perl tem todas as vantagens.

szabgab
fonte
Desde esta postagem, comecei a reembalar o Strawberry Perl com vários módulos adicionais, incluindo Moose, Dancer e Padre. Os leitores também podem querer considerar isso: dwimperl.com
szabgab

Respostas:

80

O Strawberry Perl está cada vez melhor. Um problema que tive repetidamente com o ActiveState é que às vezes meus módulos falham na instalação porque preciso atualizar para um módulo principal, mas eles não permitem isso. Assim, todos que não usam o Windows podem usar meu código, mas não podem fazer isso com o Perl do ActiveState.

O ActiveState também tem um sistema de construção muito duvidoso que frequentemente falha em relatar exatamente porque um módulo falhou na construção. Fiquei tão cansado de enviar e-mails e pedir essas informações que acabei desistindo. Quero que meu código seja executado no Windows, mas se o ActiveState não me fornecer essas informações e não me der nenhuma opção para atualizar os módulos principais, simplesmente não posso usá-lo. Alguns dos meus módulos NÃO apresentam falhas de construção em nenhum sistema operacional - exceto aqueles com ActiveState Perl. Apoie o Strawberry Perl e não se preocupe com o ActiveState.

Se o ActiveState corrigiu seu sistema de construção e sua política 'sem atualização para os módulos principais', vale a pena revisitar.

Ovídio
fonte
8
É possível atualizar os módulos principais do AS Perl 5.8.8 build 518 (lançado em janeiro de 2007). Eles também atualizaram seu sistema de compilação CPAN em 2008, mas não sei exatamente quando.
Alexandr Ciornii
1
Morango Perl é ótimo. No entanto, se você usar o MSys Bash como seu shell, há um problema conhecido de que comandos como cpannão funcionam.
Coronel Panic
30

Não existe uma distribuição Perl de melhor qualidade. Vanilla Perl ( Perl relocável e redistribuível) e é mais amigável ao desenvolvedor Strawberry Perl têm um potencial significativo.

No entanto, há uma boa razão para o ActivePerl ser tão popular. As vantagens vêm principalmente na forma de facilidade de implantação para os usuários finais (nenhum compilador é necessário para usar o gerenciador de pacotes, PPM). O ActiveState PDK (Perl Development Kit) também é uma ótima maneira de empacotar um binário completo do Windows que não requer a instalação de nenhum Perl na máquina do usuário.

Infelizmente, muitos módulos CPAN muito bons (como os vínculos Perl para OpenSSL) não estão disponíveis através do repositório do ActiveState.

Como a maioria das coisas, você deve fazer sua seleção com base na distribuição que melhor atende às suas necessidades.

Darren Meyer
fonte
PerlApp parece ser uma ferramenta útil (eu não comparei com Par :: Packer), mas o PDK que vem tem um preço de $ 300.
Nate Glenn
17

Eu uso principalmente ActivePerl, mas eu realmente gosto de onde o Strawberry Perl está indo. Eu adoro o fato de o cpan shell "simplesmente funcionar" e não ter que passar por muitos obstáculos para instalar módulos XS. (por exemplo, ExtUtils :: FakeConfig, embora isso seja menos necessário em compilações ActivePerl mais recentes.) Também estou animado com a possibilidade de Perl em um pen drive. A versão dev do Portable Perl já é bastante utilizável.

Concordo que a principal vantagem do ActivePerl é o Tk pronto para uso, mas observe que a partir de 5.10 o ActivePerl não vem mais com o Tk por padrão. Em vez disso, ele vem com o Tkx.

Michael Carman
fonte
13

O futuro é definitivamente Strawberry Perl. Independentemente do que você escolher (e este problema não é exclusivo do Windows), se você estiver distribuindo o resultado final para outras máquinas, terá que ter cuidado com as instruções de instalação / instalador fornecidas.

Penfold
fonte
6

O Strawberry Perl é mais parecido com o Perl no * nix. Ele vem com o MinGW, que pode ser útil por si só. Os módulos Perl também podem ser instalados com ppm ou cpan.

Rob Kam
fonte
1
Nota: se você instalar o mingw junto com o morango perl, esteja ciente de que o morango perl pode estar usando versões diferentes dos aplicativos Minys. Tive grandes problemas para conseguir que o perl de morango construísse Win32 :: OLE e outros módulos até que removi o mingw do meu caminho.
Robert P
Se você realmente deseja Perl no Windows como o Perl no * nix, instale o SUA / SFU (não instale o Perl que vem com ele) e use o Perl do Debian Interix / pkgsrc-interix.
MkV
4

Eu, de longe, prefiro o Strawberry Perl. Por um lado, ele instala o gcc como parte do mingwin, para que você possa instalar diretamente do CPAN.

Eu usei o perl do ActiveState por um tempo, mas tive muitas falhas de uma máquina para outra, apesar de serem (aparentemente) configurados de forma idêntica. A embalagem do módulo PPM também deixou um gosto ruim. Torna muito simples gerenciar pacotes, mas você confia neles para atualizar o PPM após as atualizações do CPAN. Além disso, PPM não é de forma alguma o conteúdo completo do CPAN; A última vez que usei o ActivePerl, tive dificuldade em encontrar todos os módulos de que precisava, e os que estavam lá costumavam ser uma versão antiga.

gWaldo
fonte
2
Estou curioso para saber o que classificou um voto negativo.
gWaldo
3

Eu sempre uso Cygwin (xterms com bash são muito melhores que cmd windows) e o Perl que vem com ele. Eu instalo módulos Perl com o shell CPAN (o comando "cpan"); Funciona bem.

reinierpost
fonte
3

ActiveState Perl tem sido considerado o Windows Perl de fato há um bom tempo. Embora tenha muitas falhas e muitos de nós usemos outra coisa, continua muito popular. Se você estivesse construindo um código Perl para ser executado em uma máquina Windows (diferente da sua), eu consideraria escrevê-lo com um olho voltado para um padrão (ou o mais padrão que eu consegui entender) instalação AS Perl executando-o. Qualquer outra coisa e você está introduzindo barreiras de entrada para outras pessoas que tentam usar seu aplicativo mais tarde.

Phreakre
fonte
AFAIK, PAR pp funciona bem com Strawberry, o que é uma grande vantagem em termos de distribuição de seus próprios aplicativos porque IIUC você precisará de uma licença OEM para poder distribuir aplicativos compilados pp se usar suas DLLs.
Sinan Ünür
3
@Sinan, sua declaração sobre o licenciamento ActivePerl e PAR está incorreta. Consulte a cláusula 4 da licença The license also allows You to redistribute parts of the Package as part of an application generated by wrapping tools such as PAR, PerlApp or Perl2Exe. However, this License does not allow You to (a) redistribute the Package as a whole, (b) use its parts to create a language distribution, or (c) redistribute the PerlScript, Perl for ISAPI or PerlEx components with Your application. activestate.com/activeperl/license
daotoad
@daotoad Hmmmm ... poderia jurar que uma versão anterior não permitia, mas nem tenho certeza se estou lembrando corretamente. Obrigado pela correção.
Sinan Ünür
2

Tive grandes problemas com a Strawberry e senti que não havia suporte. As boas pessoas da PerlMonks não puderam me ajudar e eu desisti. Se esta página o deixa com uma certa falta de confiança, aí está sua resposta.

AmbroseChapel
fonte
1

O código que escrevo chega às empresas da Fortune 500, portanto, um sentimento "corporativo" é útil. Eu usei o ActivePerl até agora e funcionou bem tanto para ferramentas internas quanto para distribuição para os grandes clientes.

Aczarnowski
fonte
1

Estou usando o Active State Perl 5.014, que funciona bem.

O problema é que não tem a última versão do Padre (o IDE, ambiente de depuração).

Helen Craigman
fonte