목록개발자 이야기 (107)
동글동글 라이프
Usage : pack Template, list unpack Template , EXPR pack 함수는 값들로 구성된 리스트를 받아서 이진구조로 변환시킨 뒤에 변환시킨 문자열을 반환하는 함수이다. 템플릿의 종류를 알아보기에 앞서 하나의 예제를 먼저 실행 하여보자. 1 2 3 4 use strict; my @list = (65..69); my $out = pack "C*",@_; print $out list에는 65부터 69까지의 숫자가 들어있다. 눈치를 채신분들은 알겠지만 저 숫자들은 아스키코드값의 10진수이고 A~E까지의 값을 차례대로 배열에 저장하였다. 이제 pack 함수를 살펴 보자. C는 unsigned 문자를 나타내고 있으며 아스키 코드값을 문자로 변환하여 반환해준다 그래서 출력되는 값은 "..
첫번째로 mp3list.pm 모듈을 만들어 보자. 이것은 해당 폴더 안에 있는 mp3파일을 모두 찾아주며 경로까지 붙여 저장 시켜주는 모듈이다. - mp3list.pm 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 package mp3list; use Exporter; use strict; use vars qw( @ISA @EXPORT_OK $VERSION ); use Cwd; @ISA = qw( Exporter ); @EXPORT_OK = qw(folder_name); $VERSION = '0.1'; sub folder_name { my $folder = shift; my @list; my $cwd = fastcwd()."/$folder"; ..
갓 프로그래밍에 입문한 친구 중에 한명이 MFC로 음악을 재생해주는 프로그램을 만드는 것을 보았다. 괜찮게 만들었길레 어떤점이 제일 어려웠냐고 물어봤더니 모르는 라이브러리를 사용하며 부딛치는 난관들을 극복하기가 어려웠다고 한다. 심심한데 perl로 한번 해볼까? 생각이 들어... 일단 음악파일을 재생해주는 모듈부터 검색을 하였다. cpan에서 막연하게 MP3만 검색을 했더니 찾고자 하는 모듈이 검색되지 않았는데 10분정도 붙잡고 있었더니 드디어 발견!! http://search.cpan.org/~kenwu/Win32-MediaPlayer-0.2/lib/Win32/MediaPlayer.pm Windows에서 음악파일을 재생 시켜주는 모듈을 발견! Author을 확인해보니 중국 사람이 만들었는데... 귀..
지금부터 GTK2-perl을 소개를 시작하겠다. 단순한 프로그램을 실행해보도록 하자. 이 프로그램은 종료버튼을 제외하고 아무런 기능이 없는 200 x 200 픽셀의 윈도우창 하나를 만든다. 1 2 3 4 5 6 7 8 9 10 use Gtk2; Gtk2->init; $window = Gtk2::Window->new('toplevel'); $window->show; Gtk2->main; 0; 위의 프로그램을 실행할 수 있을 것이다. 모든 프로그램은 당연하게 GTK2 모듈을 사용한다. Gtk2->init 모든 GTK 어플리케이션을 부른 뒤 init 메서드를 호출 할 것이다. 이 설정은 기본적인 비주얼과 색상등을 우리에게 제공한다. 이 메서드는 라이브러리를 사용하기 위해 기본적인 핸들을 초기화를 해주며 커맨드..
Chapter 1. Tutorial Availability 이 문서는 온라인에 있는 http://gtk2-perl.sourceforge.net/tutorial 를 참조하고 있다. 튜토리얼의 초기버전은 C interface 와 함께 작성되었다. 이 입문서는 SGML과 HTML로 GTK+ Release에 관한 소스 코드가 각각 분류되었다. 두개의 배포판중 당신에게 맞는 것 중 하나를 선택하여 쓰길 바란다. 이 튜토리얼의 패키지로 다운 받으려면 ftp://ftp.gtk.org/pub/gtk/tutorial 여기는 여러가지 형식의 튜토리얼이 포함되어 있다. 이 패키지는 오프라인에서나 프린트 출력을 하는데 유용하게 사용될 것이다. Chapter 2. Introduction GTK ( GIMP ToolKit) 은 ..
얼마전 해커쏜에 참여하여 간단한 프로그램을 하나 만들었다. 그 당시 a3r0님께 많은 도움을 받아서 그것을 바로 흡수!! 타자 및 투수의 정보까지 처리하는 루틴까지 만들었던 기억이 난다. 소개하자면 일명 Baseball::KBO 한국야구위원회(http://www.koreabaseball.com/ )를 참고하여 만들어 졌으며 이 사이트의 정보들을 LWP::Simple 모듈을 이용하여 웹에서 해당 정보들을 얻어온 뒤 정규식을 이용해서 원하는 정보들을 찾아 저장하는 형식으로 코드를 작성하였다. 그 뒤 GTK문서를 보고 적당한 예제가 하나 있어 그 예제를 참고하여 GUI모드로 구현을 해보았다. 소스는 허접하지만... 누군가 더 나은 코드를 코멘트로 적어 줄까 싶어 공개한다. 블로그를 시작한지 글을 8건이나 썼는..
perl 쿡북에 있는 예제중 뼈가대고 살이되는 것들을 골라내어 정리해보았다. 1. 정규표현식을 사용하여 통해서 3번째 값을 찾는 코드이다. if문을 적절하게 사용하였고 /g 변경자를 사용하여 전체 매치를 시켜 3번째 값을 찾아냈다. 1 2 3 4 5 6 7 8 9 use strict; $_ = "one fish two fish red fish blue fish"; my $WANT = 3; my $count = 0; while(/(\w+)\s+fish\b/gi){ if(++$count ==$WANT){ print "The Third fish is a $1 one."; } } Output: 1 The Third fish is a red one. 2. 일치한 문자중 짝수번째 fish를 찾아낸다. grep은 매..