About Perl‎ > ‎

열배로 활용하기

전종필

Perl은 실용을 위한 언어입니다. Perl은 다양한 용도로 사용할 수 있지만, 다음 몇가지를 염두에 둔다면 개발주기는 더욱 짧아지고, 효율은 극대화될 것입니다. (이 것들은 제가 평소에 나름대로 생각하고 지키려하는 원칙들입니다. 개인에 따라 차이가 있을 수도 있고, 또 다른 소중한 원칙이 있을 수도 있다고 생각합니다.) 
  • Perl과 모듈의 기본문서를 활용하라

    Perl을 설치하면 많은 문서들이 같이 설치됩니다. Perl 문서들은 perldoc이라는 프로그램으로 볼 수 있습니다. 이 프로그램은 man(1) 프로그램과 같은 식으로 문서를 보여줍니다. 실행은 셸 프롬프트에서

    perldoc perl
    perldoc perlre
    perldoc Net::FTP
    	
    와 같이 합니다.
    Windows에서는 Perl이 설치된 디렉토리아래 html이라는 디렉토리가 있습니다. 이 디렉토리의 안에 있는 index.html 파일을 브라우저로 열어보면 됩니다.
  • 문제와 직접 부딪쳐 손으로 해결하라

    이 것은 초보자분들에게 하고 싶은 말입니다. 머리로만 생각하면 프로그램도 제대로 만들 수 없고, 실력도 잘 늘지 않습니다.

  • 직접 만들기 전에 이미 있는 것을 활용하라

    CPAN은 ``이미 있는 해결책들''의 보물창고입니다. 여러분이 생각하는 대부분의 문제에 대한 해결책이 이미 이 곳에 있을 것입니다. 얼마나 많은지 알고 싶으시면 직접 가 보십시오.

  • 정규식을 내 것으로 만들어라

    Perl의 첫번째 관문은 정규식일 것입니다. 하지만, 정규식을 완전히 다 알고 있는 사람이 얼마나 될까요? 잘 모른다고 낙담할 필요는 없습니다. 단, 노력을 해서 어느 정도 까지 정규식을 구사할 수 있다면 자신의 프로그램을 좀 더 짧게 만들 수 있는 능력이나, 남의 프로그램을 내 것으로 만들 수 있는 능력이 커집니다.

  • use strict;

    가능한, 항상, use strict;를 사용하십시오. 프로그램이 커질수록 버그가 많아집니다. 그러나 use strict;를 사용하면 버그를 쉽게 찾아낼 수 있고, 또 적게 생깁니다.

  • 자신의 코드를 자랑스러워하라

    Perl 사용자는 자신의 지식수준에 해당하는 나름의 해결책을 만들 수 있습니다. 즉, C나 Java를 약간 아는 것으로는 가치있는 프로그램을 만들 수 없지만, Perl은 약간만 알아도, 나름대로의 해결책을 만들어 냅니다. 단지 프로그램이 조금 더 길어지고, 약간 지저분해질 뿐입니다. 그러나, 그 것은 문제가 되지 않습니다. 우리가 만든 코드는 어쨌든 ``문제를 해결''할 수 있으니까요.
    이렇게 자신감을 가지고 하다보면 실력도 늘어나고, 문제 해결에 대한 논리도 발전할 것입니다.

  • 아름다움은 미술관에 갖다 버려라

    Perl은 아름다움을 추구하는 언어가 아닙니다. Perl 스크립트를 대대손손 물려줄 것은 아닐 것이고, 그 보다는 당면한 과제를 해결하기 위해 사용할 것입니다. 아름다운 코드를 작성하려고 노력하다가는 시간만 흘러가는 것을 곧 알게 될 것입니다.

  • Perl이 모든 해결책을 갖고 있다고 생각하지 말라

    그러나, 경계할 것은, Perl을 너무 과신하는 것입니다. 때로, 어떤 문제는 Perl이 아닌 다른 것으로 처리하는 것이 좋을 때도 있습니다. 예를 들어서 복잡한 바이너리데이터라면 Perl 보다는 C로 해결하는 것이 훨씬 나을 것입니다. 당면한 문제의 본질이 어떤 것인지 파악하고, 문제해결의 최선의 방법을 찾아야지, Perl이 모든 문제를 해결할 것이라고 생각하고 에디터를 여는 것은 문제가 있겠죠.

  • 다른 언어와 싸우려 하지마라

    Perl을 굳이 다른 언어와 비교하며 경쟁할 필요는 없습니다. (아마 Perl을 모르는 분들이 Perl을 무시하며 (사실은 모른다는 사실때문에 두려워하며) 경쟁적인 상황을 만드는 경우가 있을 수 있겠습니다.) Perl을 사용하다 보면 다른 언어와 서로 보완하며 사용할 수 있다는 것을 알게됩니다. 여러분이 C나 Java 개발자라면 Perl을 개발작업에 이용할 수 있습니다. 예를 들면 데이터베이스 구축은 Perl로 하고 데이터베이스 활용 Application은 C로 하는 경우도 있을 것이고, 여러 프로젝트에 속한 C나 Java 소스에 들어 있는 어떤 문자열들을 한꺼번에 바꿔주는 Perl 스크립트를 만들 수도 있을 것입니다.

  • 책 몇 권쯤은 필수

    책을 모두 읽지 않더라도, 손을 뻗으면 닿을 수 있는 곳에 몇가지 참고서는 가지고 있는 것이 좋습니다. 많은 책들이 있지만, 낙타책(Perl Programming), Perl Cookbook, Perl in a nutshell 등이 제가 추천하고싶은 책입니다. (물론 저의 졸저 ``학교에서 가르쳐 주지 않는 Perl''은 기초를 닦는 데 활용할 수도 있을 것입니다 *^_^*!! )

  • Perl 관련 정보를 계속 접하라

    Perl의 홈페이지, 이 사이트, perl.org, 기타 뉴스사이트 등에 자주 접속하고, 메일링 리스트 한 두 곳정도는 가입하는 것이 좋습니다. 새로운 기술이나, 고민하던 문제에 대한 해결책들이 종종 나타납니다.

  • 마지막으로, 프로그래머가 갖추어야 할 세 가지 미덕을 잘 따르라

    그 미덕은 게으름(Laziness)참지말기(Impatience)교만(Hubris)입니다.
    어떤 텍스트 문서를 받아서 다른 형태의 데이터로 변환해야 할 일이 생겼습니다. 양이 만만치 않지만 성실씨는 앉아서 일일이 입력할 것입니다. 나름대로 머릴써서 copy & paste로... 하지만 게으른 태만씨는 그런 일에 대한 참을성이 없습니다(Impatience)이 것을 Perl 스크립트로 만들어서 빨리 처리해 버립니다. 그리고 게으름을 피워야지요(Laziness). 그리고 자신이 만든 프로그램이 일을 제대로 하는 만큼 자신의 프로그램에 대해 충분히 자만심을 갖고 뽐냅니다.(Hubris)

Comments