0. 들어가기


  모든 프로그래밍 언어(Language)는 저마다 가지고 있는 장점이 있기 때문에, 한번이라도 들어본 적이 있는 언어라면, 배울 가치는 충분히 있다.

  본인이 처음 Perl이라는 언어가 있다는 것을 안것은 꽤 오래됐지만, 배울 욕심이 전혀없었다. 그때만 해도 C언어가 최고이고 다른 언어는 다 C언어의 아류작이라는 편견을 가지고 있었다. 그러다가 어느날 우연히 Perl이 시스템 관리에는 절대무공을 가지고 있다는 말 한마디에 Perl로 빠져들었다.

  특히 Text기반 즉, 줄(Line)단위로 구성된 파일을 처리하는데는 강력한 힘을 발휘한다. 본인이 직접 경험한 예를 하나들어보자. 하루에 거의 2Giga byte나 되는 로그 데이터를 쏟아내는 시스템이 있었는데, 이 시스템의 로그를 분석해서 통계를 내는 프로젝트를 진행하게 되었다.

  처음에 떠오른 언어는 당연히 C언어였다. C언어는 다른 언어들 보다 속도가 빠르기 때문에 2기가나 되는 파일을 처리하는 시간을 고려한 선택이었다. 이같은 결정을 기반으로 전체 시스템을 설계한 결과 다양한 통계기능이 첨가되었고, 이를 C언어로 개발한다면 거의 2개월을 개발(코딩)해야만 가능할 정도의 규모가 되었다.

  프로젝트의 가장 어려운 문제는 줄단위로 내용을 구별해서 필요한 정보들만 추출해 내는 Parsing 작업과 통계처리를 위한 자료구조에 대한 개발부분이었다. 대부분의 개발기간이 바로 이 Parsing과 통계처리에 대한 기본적인 인프라(Infra)를 구성하는 기간이었다.

  이 때 떠오른 것이 바로 Perl이었다. Perl은 이미 줄단위 입력처리와 Parsing작업, 거기에 기본 통계 처리용 데이터 구조까지 다 갖춰진 상태이므로 단순히 로직(Logic)만 구성하면 된다는 생각이 들었다.

  더구나 C언어와 기본적으로 비슷한 구조이기 때문에 스터디 기간도 1주일이면 충분했다. 1주일만 배우면 C언어의 중급 이상자가 누릴수 있는 개발의 장점들만 취할 수 있다고 본다.

  실제 Perl로 프로젝트를 진행한 결과 2개월넘게 소모될것 같던 부분들을 단 2주만에 모든 작업을 마칠수 있었다. 실제로 작업한 시간만 따지면 1주일도 안걸렸기에, 직접 코딩한 나도 깜짝 놀랄 정도였다.

  Perl이 우수워 보이는가? 그렇다면 더더욱 배워보라. C언어를 신봉하는가 그럼 Perl을 배워보라.

  Perl은 꼭 배워두라고 당부하고 싶은 언어다.

  다음은 펄을 배우는데 필요한 중요한 책으로, 한빛미디어에서 한글로 번역출판한 책3권이다.

  • Learning Perl (펄 제대로배우기) : 초급자용
  • Programming Perl(Perl 프로그래밍) : 중급이상
  • Perl Cookbook(펄 쿡북) : TIP 모음집
  모두 주옥같은 책이니 나중에라도 구입하는 것이 좋을 것이다. 안타깝게도 펄 쿡북은 현재(2004년 3월 31일) 절판된 상태라 구입이 불가능하다.

- Last Update : 2003.09.20 by Deadfire(http://www.deadfire.net)

Perl 기초

Copyright ⓒ 1997 ~, Deadfire Program Master