Windows에서 어떤 버전의 Perl을 사용해야합니까? [닫은]


98

win32.perl.org의 웹 사이트는 MS 윈도우에 대한 몇 가지 펄 배포판에 대한 참조를 제공합니다.

오랫동안 ActiveState의 ActivePerl을 사용해 왔지만 최근에는 Strawberry Perl 로 전환했습니다 .

IMHO Active Perl이 Strawberry Perl에 비해 여전히 가지고있는 유일한 장점 은 그래픽 디버거 인 Devel :: ptkdb를 쉽게 설치할 수 있음을 의미하는 Perl Tk와 함께 제공된다는 사실입니다 . 그 외에 스트로 베리 펄은 모든 장점이 있다고 생각합니다.


이 게시물 이후로 저는 Moose, Dancer 및 Padre를 포함한 많은 추가 모듈로 Strawberry Perl을 다시 패키징하기 시작했습니다. : 독자뿐만 아니라이를 고려하는 것이 좋습니다 dwimperl.com
szabgab

답변:


80

Strawberry Perl 은 점점 더 좋아지고 있습니다. ActiveState에서 반복적으로 겪은 한 가지 문제는 코어 모듈로의 업그레이드가 필요하기 때문에 모듈을 설치하지 못하는 경우가 있지만 허용하지 않는다는 것입니다. 따라서 Windows를 사용 하지 않는 모든 사람 내 코드를 사용할 수 있지만 ActiveState의 Perl로는 사용할 수 없습니다.

ActiveState는 또한 모듈이 빌드에 실패한 이유를 정확히보고하지 못하는 매우 이상한 빌드 시스템을 가지고 있습니다. 이메일을 보내고이 정보를 요청하는 데 지쳐서 결국 포기했습니다. 내 코드가 Windows에서 실행되기를 원하지만 ActiveState가 해당 정보를 제공하지 않고 핵심 모듈을 업그레이드 할 수있는 옵션을 제공하지 않으면 사용할 수 없습니다. 일부 모듈에는 ActiveState Perl을 사용하는 경우를 제외하고 모든 운영 체제에서 빌드 오류가 없습니다. Strawberry Perl을 지원하고 ActiveState에 대해 걱정하지 마십시오.

ActiveState가 빌드 시스템을 수정하고 '핵심 모듈로 업그레이드하지 않음'정책을 수정했다면 다시 살펴볼 가치가 있습니다.


8
AS Perl 5.8.8 빌드 518 (2007 년 1 월 출시)에서 핵심 모듈을 업그레이드 할 수 있습니다. 그들은 또한 2008 년에 CPAN 빌드 시스템을 업그레이드했지만 정확히 언제인지 모르겠습니다.
Alexandr Ciornii

1
Strawberry Perl은 훌륭합니다. 그러나 MSys Bash를 셸로 사용하는 경우 다음 과 같은 명령이 작동하지 않는 알려진 문제cpan있습니다.
Colonel Panic

30

단일 최상의 Perl 배포는 없습니다. Vanilla Perl (재배치 가능, 재배포 가능 Perl) 및 개발자 친화적 인 Strawberry Perl 은 상당한 잠재력을 가지고 있습니다.

그러나 ActivePerl 이 매우 인기있는 이유 가 아주 많습니다. 장점은 대부분 최종 사용자를위한 손쉬운 배포의 형태로 제공됩니다 (패키지 관리자 인 PPM을 사용하는 데 컴파일러가 필요하지 않음). ActiveState PDK (Perl Development Kit)는 또한 사용자의 컴퓨터에 Perl을 설치할 필요가없는 완전한 Windows 바이너리를 압축하는 매우 좋은 방법입니다.

안타깝게도 많은 매우 멋진 CPAN 모듈 (OpenSSL 용 Perl 바인딩과 같은)은 ActiveState의 저장소를 통해 사용할 수 없습니다.

대부분의 경우와 마찬가지로 요구 사항에 가장 적합한 배포를 기준으로 선택해야합니다.


PerlApp은 유용한 도구처럼 보이지만 (Par :: Packer와 비교하지 않았습니다) 제공되는 PDK에는 300 달러의 가격표가 있습니다.
Nate Glenn

17

저는 주로 ActivePerl을 사용하지만 Strawberry Perl이 향하는 방향을 정말 좋아합니다. 나는 cpan 쉘이 "그냥 작동한다"는 것을 좋아하고 XS 모듈을 설치하기 위해 많은 수고를 뛰어 넘을 필요가 없습니다. (예 : ExtUtils :: FakeConfig, 최신 ActivePerl 빌드에서는 덜 필요합니다.) 또한 썸 드라이브에서 Perl의 가능성에 대해 기대합니다. Portable Perl 의 개발 릴리스는 이미 꽤 유용합니다.

ActivePerl의 주요 장점은 기본적으로 Tk라는 데 동의하지만 5.10부터 ActivePerl은 더 이상 기본적으로 Tk와 함께 제공되지 않습니다. 대신 Tkx와 함께 제공됩니다.


13

미래는 확실히 Strawberry Perl입니다. 그러나 어떤 것을 선택하든 (그리고이 문제는 Windows에만 국한되지 않음) 최종 결과를 다른 컴퓨터에 배포하는 경우 제공하는 설치 프로그램 / 설치 지침과 관련하여주의해야합니다.


6

Strawberry Perl 은 * nix의 Perl과 더 비슷합니다. 그것은 그 자체로 유용 할 수있는 MinGW 와 함께 제공됩니다 . Perl 모듈은 ppm 또는 cpan으로 설치할 수도 있습니다.


1
참고 : 딸기 펄과 함께 mingw를 설치하는 경우 딸기 펄이 다른 버전의 minsys 앱을 사용하고있을 수 있습니다. 내 경로에서 mingw를 제거하기 전까지 Win32 :: OLE 및 기타 모듈을 빌드하기 위해 딸기 펄을 얻는 데 몇 가지 중요한 문제가있었습니다.
Robert P

* nix의 Perl처럼 Windows에서 Perl을 원하면 SUA / SFU를 설치하고 (함께 제공되는 Perl을 설치하지 마십시오) Debian Interix / pkgsrc-interix의 Perl을 사용하십시오.
MkV

4

나는 지금까지 Strawberry Perl을 선호합니다. 하나는 mingwin의 일부로 gcc를 설치하므로 CPAN에서 직접 설치할 수 있습니다.

한동안 ActiveState의 펄을 사용했지만 (겉보기에) 동일하게 구성 되었음에도 불구하고 한 시스템에서 다른 시스템으로 많은 결함이있었습니다. 그들의 PPM 모듈 포장도 나쁜 맛을 남겼습니다. 패키지를 관리하는 것은 매우 간단하지만 CPAN 업데이트 후 PPM을 업데이트하는 데 의존합니다. 또한 PPM은 CPAN의 전체 내용이 아닙니다. 마지막으로 ActivePerl을 사용했을 때 필요한 모든 모듈을 찾기가 어려웠고 거기에 있던 모듈은 종종 이전 버전이었습니다.


2
어떤 평가를 받았는지 궁금합니다.
gWaldo

3

저는 항상 Cygwin (bash가있는 xterms가 cmd 창보다 훨씬 낫습니다)과 함께 제공되는 Perl을 사용합니다. CPAN 쉘 ( "cpan"명령)과 함께 Perl 모듈을 설치합니다. 잘 작동합니다.


3

ActiveState Perl은 꽤 오랫동안 사실상 Windows Perl로 간주되었습니다. 많은 결함이 있고 많은 사람들이 다른 것을 사용하지만 여전히 인기가 있습니다. Windows 시스템 (자신이 아닌)에서 실행할 Perl 코드를 빌드하는 경우,이를 실행하는 기본 (또는 내가 얻을 수있는 기본) AS Perl 설치를 고려하여 작성하는 것이 좋습니다. 다른 모든 것은 나중에 앱을 사용하려는 다른 사람에게 진입 장벽을 도입하고 있습니다.


AFAIK, PAR pp는 Strawberry와 잘 작동하는데, 이는 IIUC가 DLL을 사용하는 경우 pp 컴파일 된 앱을 배포 할 수 있으려면 OEM 라이선스가 필요하기 때문에 자체 앱 배포 측면에서 큰 이점입니다.
Sinan Ünür

3
@Sinan, ActivePerl 라이선스 및 PAR에 대한 귀하의 진술이 잘못되었습니다. 라이센스 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 ... 이전 버전에서는 허용하지 않았다고 맹세 할 수는 있지만 올바르게 기억하고 있는지 확실하지 않습니다. 수정 해주셔서 감사합니다.
Sinan Ünür

2

나는 딸기에 큰 문제가 있었고 지원이 없다고 느꼈습니다. PerlMonks의 좋은 사람들이 나를 도울 수 없었고 나는 포기했습니다. 이 페이지 에서 확신이 부족 하다면 답이 있습니다.


1

내가 작성한 코드는 Fortune 500 대 기업에 적용되므로 "기업"느낌이 도움이됩니다. 지금까지 ActivePerl을 사용해 왔으며 내부 도구와 대규모 고객에 대한 배포 모두에서 잘 작동했습니다.


1

정상적으로 작동하는 Active State Perl 5.014를 사용하고 있습니다.

문제는 최신 버전의 Padre (IDE, 디버깅 환경)가 없다는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.