윈도우용 비 상용 Perl 패키지 Strawberry Perl 5.10 출시

aero의 이미지

Perl이 20번째 생일을 맞아 Perl 5.10 버젼을 릴리즈 했었는데.
참고: http://kldp.org/node/89437

그동안 윈도우에서 Perl을 사용하는 사람들은 주로 ActiveState 사의 상용 Perl을 사용해 왔습니다.

그 이유는 윈도우에서는 C컴파일러를 통한 C프로그램과 연동되는 XS 모듈등을 설치하기 위한 build 환경 등등을
구축하기 힘들어 cpan을 제대로 사용하기가 힘들고 까다로왔기 때문이죠.

그래서 Activestate 사에서는 ppd라는 미리패키징된 모듈을 설치하는 자체 모듈 패키지시스템을 사용했는데

이번에 Strawberry Perl 이란 프로젝트에서 Windows에서도 MingW gcc 컴파일러를 자체적으로 내장하여 build
시스템을 지원하는 비 상용 Windows용 공식 Perl 5.10 배포본을 릴리즈 함으로 인해서
이제 윈도우에서도 UNIX/LINUX와 마찬가지로 cpan명령을 통해 똑같은 방법으로 모듈을 설치 사용할 수 있게 되었습니다.

받을 수 있는 곳은 http://strawberryperl.com/ 입니다.

자세한 사용법과 내용은 여기를 참고하세요.

shint의 이미지

윈도우용 펄'사용을 꺼리게 되는데요
이유가
1. 점유율 50%이상
2. 웹접속으로 실행된 펄이 떠있는 상태로 멈춰짐
이었습니다.
윈도우에서도 리눅스만큼 많이 개선되었으면 좋겠습니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

aero의 이미지

제가 사용해본바로 윈도우에서 Perl이 리눅스에 비해 비정상적으로 시스템 자원을 많이 사용하는 일은
없었던것 같습니다.

그리고 웹접속으로 사용할때 Perl이 떠있는 상태로 멈춰지는것은 Perl자체의 문제이기 보다
웹서버와 Perl의 상호 동작 인터페이스상의 문제로 보여지고요.

그동안 윈도우에서 Perl이 문제를 일으켰다면 fork,alarm등 각종 UNIX류 시스템콜 함수들을
사용할 때 호환성문제가 있을 수 있었지만 이제 이것도 거의다 윈도우에서도 에뮬레이션해서
문제가 없도록 개선이 되었습니다.

Strawberry Perl이 나온 이유가 Complete Platform Equality를 지향하는것이기 때문에
이제 Perl은 어느 언어보다도 그 목표에 더욱 더 가까이 갔다고 할 수 있습니다.

익명 사용자의 이미지

Quote:
MingW gcc 컴파일러를 자체적으로 내장하여

이것은 그 유명한 C Perl 이군요.

kmryu의 이미지

2000년도에 회사에서 타 웹프로그램과 벤치마킹을 하면서 안 사실인데 (당시 php, asp, jsp가 주류) 윈도우의 ASP개발환경에서 ActivePerl을 의외로 많이 쓰더군요.
이 소식에 기뻐할 개발자들이 이제는 php 고수들이 되어있지 않을까 생각해봅니다.

ps. 진지하게 쓴 글이 아닙니다.. ;;

--
생각은 물질이되어 나타난다.

aero의 이미지

ASP의 스크립트 해석기를 Perl과 연결시켜서 사용하는
http://aspn.activestate.com/ASPN/docs/ActivePerl/5.8/Windows/ActiveServerPages.html
이런 걸 말씀하시는 것 같군요

저 기능은 ActiveState Perl을 깔면 기본으로 지원하고 자동 설정해주는 기능이고 해외에서는 저런 식으로 사용하는 싸이트가 있는 걸로 아는데 국내에서도 그렇게 사용했는지는 몰랐네요.

하지만 Strawberry Perl은 해당 기능은 없습니다.
어떻게 보면 약간은 억지스럽고 한물간 기술같이 보이기도 하고요.

hitman7의 이미지

perl이란 이름만으로도
기대감이 들기는 하는군요.
사실 perl이란것을 쓰기나 할까라는 생각이 있었다가, 프로젝트에서 사용하게 되었던 케이스인데, 의외로 딱 안성맞춤이 되었었던적이 있습니다. (당시 aero님께 도움도 받고 :) )

그때당시 윈도우용 펄을 구하면서 느낀점이 었는데, cpan의 사용은 꽤나 메리트가 있어보입니다.

뭐, 구시대 사람의 구시대적인 생각일지는 몰라도 perl이란 이름만으로 설레는 군요.
게다가 프로젝트를 하다보면 이것저것 다 건드리게 되니 (물론 하나의 플랫폼 만으로도 되겠지만, 단시간에 쉽게 효과를 볼수 있는 플렛폼이 있으니까.) perl이란 것 특히 윈도우용 perl도 기대감이 드는것은 어쩔수 없군요.

far and hard way

far and hard way

nohmad의 이미지

혹시 Vanilla Perl 프로젝트가 이름을 바꾼 건가요? 뭔가 관련이 있어 보이는데, 어떤 관계인지 잘 모르겠네요.

루비 커뮤니티에서도 윈도우 런타임 버전 호환 문제, 확장 모듈 빌드의 어려움 등을 피하기 위해 MinGW를 번들링하자는 제안이 나왔다가 흐지부지된 적이 있는데, 역시 직접 몸으로(?) 보여주는 것이 장땡입니다. :)

----
http://nohmad.sub-port.net

keedi의 이미지

세가지 버전이 있습니다.

Vanilla Perl
Strawberry Perl
Chocolate Perl

바닐라 펄은 펄 코어만을,
딸기 펄은 바닐라 펄 + 컴파일링 툴 + 유용한 모듈을,
쵸콜릿 펄은 딸기 펄 + GUI 툴킷 + IDE 등을 포함한 것을

의미합니다.
아직 쵸콜릿 펄은 결과물은 나오지 않았지만,
브레인스토밍하면서 계속 진행중으로 알고 있습니다. :-)

쵸콜릿 펄의 2008년 관련 계획은 이곳에서 확인할 수 있습니다.
http://use.perl.org/articles/07/12/27/1811249.shtml

쵸콜릿 펄이 나온다면... 아주 나이스할텐데 말이죠~ :)

---------------------------
Smashing Watermelons~!!
Whatever Nevermind~!!

Keedi Kim

----
use perl;

Keedi Kim

aero의 이미지

http://www.perlmania.or.kr:9000/trac/wiki/Win32Perl
에도 정리되어 있다시피.

Vanilla Perl - Perl Core부분만을 포함한 개발/테스트용 배포본

Strawberry Perl - Vanilla Perl + 각종 추가모듈 을 포함한 형태이며 실제 사용자에게 적합한 배포본

Chocolate Perl - Strawberry Perl에 더 추가해서 배포할 user friendly 한 배포본

이렇게 되겠습니다.

Strawberry perl 제작자가 향후 2008년 이것들에 대한 로드맵을 use.perl.org에 밝혔네요.
http://use.perl.org/article.pl?sid=07/12/27/1811249

Strawberry Perl에서 MinGW를 번들링한 주 이유가 CPAN 모듈중에 c코드를 포함하고 다른 c로 컴파일된 라이브러리와 연동되는 일명 XS모듈들을 직접 cpan을 통해 컴파일해서 설치하기 위함이었죠.
그전에도 물론 ActiveState Perl등을 깔고 MS VC++나 MinGW를 이용하여 cpan을 사용하도록 할 수 있었지만 그 환경을 구축하기가 일반 사용자들에게는 아주 번거롭고 복잡한 절차였기때문에 Adam Kennedy( http://search.cpan.org/~adamk/ )란 사람이 이 총대 메고 나선겁니다.

초창기에는 좀 진행되다가 흐지부지 되지않을까 생각했는데 놀라운 추진력으로 프로젝트를 잘 이끌어 나가고 있는것 같습니다.

제가 테스트 해보니 Strawberry Perl이 Activestate Perl보다 성능이 더 잘 나오더군요.

godyang의 이미지

예전에 내부망의 윈도우즈 서버에 w3c-validator를 설치한다고 삽질한 생각이 나는군요.

validator가 perl을 이용한 CGI를 사용하는지라 perl이 필요한데, 그때 대안이 ActivePerl 밖에 없었습니다.

게다가 그때 ActiveState에서 제공하는 모듈 중 w3c-validator를 설치하는데 필요한 주요 모듈이 빠져있어서
수작업으로 설치하는데 상당히 애를 먹었죠.

그 이후로 간혹다가 perl이 필요할때마다 ActiveState Perl을 설치했다가 지웠다가 하는데...
다른 대안이 생겼다니! 굉장히 환영할만한 소식이네요.

aero의 이미지

CPAN에는 모듈 설치시 설치/테스트과정에서 성공/실패여부를 자동으로 보고할 수 있게 해주는 다음과 같은 모듈들이 마련되어 있는데
http://search.cpan.org/dist/Test-Reporter/
http://search.cpan.org/dist/CPAN-Reporter/
위 모듈들을 설치하고 몇 가지 설정만 해주면 http://cpantesters.perl.org/ 싸이트에 자동으로 그 결과가 보고됩니다.

Strawberry Perl에서는 Pure Perl모듈같은 경우 설치시 거의 실패하는 경우가 없지만 C코드/라이브러리와 연동되는 XS모듈의 경우 가끔가다 에러가 발생하며 설치되지 않는 모듈을 있습니다.
하지만 이런것들도 http://win32.perl.org/wiki/index.php?title=Vanilla_Perl_Problem_Modules 페이지를 참고하여 조금 손봐주면 설치가 가능하고 설치 실패시 위의 절차들을 통해 자동으로 보고가 되게하면 빨리 고쳐질 확률이 높아집니다.

실제로 Strawberry Perl이 나온 후 부터는 cpantesters싸이트에 MSWin32 4.0 (MSWin32-x86-multi-thread) 플랫폼에서의 테스트리포트가 많이 올라오고 있습니다.

모듈제작자들은 이런 리포팅정보들을 보고 기존에는 UNIX류 OS만 신경을 써서 만들었다면 이제는 Windows쪽도 신경을 써서 만들게 되겠죠.