Saturday, July 08, 2006
Perl : Perl/Tk 기초 예제; 펄 Tk 란?
펄 Tk 란 무엇인가
Tk 는 Perl(펄) 에, GUI(그래픽 유저 인터페이스)를 만들어 주는 모듈입니다. Perl 은 원래, 명령행 인터페이스(Command-line Interfaces) 즉 키보드로 글자를 입력해서 실행시키는 방식입니다. 그런데 Tk 는, 일반 윈도우 프로그램처럼, 펄에서 마우스와 버튼 등을 사용할 수 있게 해 주는 것입니다.
쉽게 말해서, 그래픽 버전의 펄 입니다.
간단한 Tk 예제
#!/usr/bin/perl
use strict; use warnings;
use encoding 'cp949';
use Tk;
my $mw = MainWindow->new;
$mw->title("하하하하. 여기는 타이틀바");
$mw->Label(-text => "이 세상에서 가장 간단한 Perl/Tk 예제를\n만들려고 1시간 넘게 노력했는데\n조금 복잡하게 되었습니다.(^o^)", -font => "굴림 10")->pack;
$mw->Button(-text => "OK", -command => sub { exit })->pack;
MainLoop;
use strict; use warnings;
use encoding 'cp949';
use Tk;
my $mw = MainWindow->new;
$mw->title("하하하하. 여기는 타이틀바");
$mw->Label(-text => "이 세상에서 가장 간단한 Perl/Tk 예제를\n만들려고 1시간 넘게 노력했는데\n조금 복잡하게 되었습니다.(^o^)", -font => "굴림 10")->pack;
$mw->Button(-text => "OK", -command => sub { exit })->pack;
MainLoop;
(주의: 만약 위의 소스를 UTF-8로 저장했다면, cp949 가 아닌, use encoding 'utf8'; 이라고 지정해야 합니다)
위의 코드를 실행한 결과:
위의 예제를 만약 C++로 작성했다면 눈이 핑핑 돌 정도로 복잡했을 것입니다. 그렇지만 보시다시피 펄 Tk 는 아주 간단하고 직관적입니다. 마치 HTML 페이지를 작성하는 것처럼 그냥 구성 요소들을 순서대로 적어 주기만 하면 됩니다.
Tk 의 장단점
쉽고 간단하다는 것이 장점입니다. GUI 프로그래밍이라는 것이 상당히 복잡하고 어렵습니다. GUI 프로그래밍을 이렇게 간단하게 할 수 있는 것은 Tk 밖에는 없을 것입니다. 속도도 빠릅니다. 유닉스/리눅스는 물론이고 윈도우에서도 호환이 됩니다. 즉 Tk 프로그래밍을 해 놓으면 어느 운영체제에서나 잘 돌아갑니다. 또한 펄이 무료이듯이 Tk도 무료로 사용할 수 있습니다. 리눅스와 같은 오픈소스입니다.
단점이라면, 지금은 Tk 모듈의 버전업이 거의 되지 않는다는 것입니다. 그리고 그래픽 기능, 즉 도형 그리기 기능 등이 많이 부족합니다. 그래서 GUI 구현에 쓸 수 있을 뿐이지, Tk로 복잡한 그래픽 프로그래밍을 할 수는 없습니다.
Tk 모듈 설치법
ActivePerl(액티브펄)을 설치하면 Tk 모듈도 같이 설치되기에 별도로 설치해 줄 필요는 없습니다. 액티브펄을 깔았다면 위의 예제가 곧바로 실행됩니다.
Tk에 대한 좋은 책은?
별로 없더군요. 2002년 O'Reilly 출판사의
Mastering Perl/Tk
by Steve Lidie and Nancy Walsh
가 거의 유일할 것입니다.
tag: perl
Perl | 펄
<< Home