2008. 9. 19. 02:37ㆍStudy/Programming
Perl
Perl은 래리 월이 만든 인터프리터 방식의 언어, 혹은 그 인터프리터 소프트웨어를 가르키며 자료를 추출하고 그에 의거한 보고서를 작성하는데 사용하는 프로그래밍 언어중의 하나이다. 펄 언어는 'Practical Extraction and Report Language'의 약자로 실용성을 모토로 하고 있어 C언어와 구문이 비슷하며 sed, AWK, 셀 스크립트 등과 같은 유닉스 기능을 포함하는 뛰어난 기능을 많이 도입하여 사용하고 있다. 언어 자체의 자유도가 높고 표현력이 뛰어나 CGI나 웹프로그래밍, 시스템 관리, 그 밖의 간단한 작업을 하는 스크립트를 작성하는 데에 넓게 이용되고 있으며, 또한 생물정보학 쪽에서도 광범위하게 이용되고 있다.
텍스트 파일로부터 필요한 정보들을 추출하고 그 정보를 바탕으로 새로운 문서를 구성하는데 적합하다
C언어의 형태를 띄면서도 텍스트를 처리하는 기능이나 문자열의 일치 여부 검색·치환 등의 기능이 뛰어날 뿐 아니라 코딩도 쉽다. 또 인터프리터형 언어로 C언어처럼 컴파일할 필요가 없이 코딩한 대로 실행이 가능하다. 코딩의 최적화나 실행 속도에서는 C언어보다 다소 떨어지지만 컴파일을 반복할 필요가 없으므로 프로그램의 구현과 디버깅은 훨씬 쉽다. 유닉스와 윈도NT 등 여러 가지 OS에 사용할 수 있으므로 소스파일을 이식하기도 쉬워서 서버를 변경할 경우나 OS를 바꿀 경우에도 부담이 되지 않는다. 인터넷 상에서 무료로 자신의 시스템에 맞는 펄 인터프리터(interpreter)를 구할 수 있으므로 비용면에서도 장점을 지닌다.
인터프리터 펄은 자예 소프트웨어이며, 아티스틱 라이선스 또는 GPL으로 배포되고 있어 사용자는 둘 가운데 하나의 라이선스를 골라 쓸 수 있다. 유닉스를 비롯해 다양한 플랫폼에서 동작한다.
Perl 소스코드의 예
#!/usr/bin/perl
$aaa = "-I/export/home/abc -I/export/home/def -I/usr/local/include";
@list = $aaa =~ m{-I([^\s]+\s?)}g;
foreach $list (@list) { print $list,"\n"; } |