빌드 시스템의 일을 돕고 있는 중인데, 간단한 서버 클라이언트 프로그램을 만들어야 했다. 요구 사항은 배쉬 스크립트로 짜기. J2ee로 짜면 금방인데 듣도 보도 못한 스크립트로 짜려니까 너무 깝깝했다.
" 스크립트로 실행만 되면 되죠? "
그렇다고 해서, 스크립트 언어로 짜기로 했다.
펄을 선택한 건 순전히 배쉬나 cmake의 (문법이라기보다는) 생김새가 가장 비슷했고, CPAN이라는 무지막지한 라이브러리를 가지고 있었기 때문이다. 문법은 읽다보면 살짝 묘한 느낌이 들어서 선택할 때 좀 고민하긴 했지만 그래도 사용하다 보면 조금씩 익숙해져 간다는 걸 느낄 수 있었다.
펄로 프로그래밍 하는 건 처음이지만 CPAN과 구글을 열심히 뒤지면서 돌아다닌 결과 하루 만에 서버 클라이언트 프로그램을 짤 수 있었다. 아래는 그 과정 전체이다.
1. cpan 설치 http://bebop.emstone.com/research/perl/perl_using_CPAN/
2. server source highly implemented at http://www.osix.net/modules/article/?id=441
3. io socket example http://docstore.mik.ua/orelly/perl3/prog/ch32_29.htm
4. 소켓 구현 가장 핵심적인 참고 소스 http://www.prasannatech.net/2008/07/socket-programming-tutorial.html
5. argv in socket http://www.perlmonks.org/?node_id=5163
7. 중복처리 learning perl 도서 참고
9. 자신의 아이피 확인 http://perlkr.codepad.org/hkhQi5Zi
10. socket 연동 http://www.troubleshooters.com/codecorn/sockets/
11. DBM 파일을 통한 데이터베이스 Perl 5 how to solve the program 도서 참고
12. 특정 파일이 없으면 자동으로 생성하게 함. http://perldoc.perl.org/functions/open.html
13. pipe 관련 api 및 예제 http://perldoc.perl.org/IO/Pipe.html , http://bit.ly/3b5sNA
14. pipe의 블럭 관련 이야기 http://www.perlmania.or.kr:8949/pmdocs/lcg/perlipc.html
perl 서버 프로그래밍