1. PERL 이란
Perl 언어는 C 언어와는 달리 컴파일러가 필요하지 않은 인터프리트(Interpret) 언어입니다.
이는 90년대 컴 퓨터 교육의 광풍이 불었을 때 많이 가르치던 GW-BASIC 과 같이 프로그램을 입력하면 바로 실행이 되는 형 태를 띄는데요.
Perl의 또 다른 장점은 운영체제(Operating System)에 독립적이라는 점이다.
즉, 윈도우즈에서 실 행한 Perl 프로그램은 특별한 예외(시스템 관련된 코드는 운영체제의 특성에 영향을 받는다)를 제외하고는 바 로 Linux에서 실행이 가능합니다.
Perl 언어의 문법은 C와 비슷합니다. 또한 변수를 선언할 때 변수의 타입 (예, 숫자, 문자열 등)을 설정하지 않고 바로 사용이 가능하기 때문에 초보자로 쉽게 프로그래밍을 할 수 있는 언어 입니다.
이에 반해서 C 프로그램의 경우는 변수를 사용하기 전에 해당 형식을 설정해야 하고, 설정이 되고 나면 변경하는 것이 불가능하다는 차이점이 있습니다.
또한 다른 형태의 변수 간 데이터 이동을 위해서 형변환에 대한 고려를 해야 하는 어려움이 있습니다.
마지막으로, C 프로그램 을 배울 때 가장 많은 사람이 포기하는 부분이 포인터(pointer)인데, 포인터를 이해하지 못하면 C 프로그램을 효율적으로 만들 수 없기에 가장 어려운 부분입니다.
이에 반해서 Perl은 포인터 없이도 다양한 문 자열 처리가 가능하도록 설계가 되어있는데요.
이와 같은 장점이 많은 사람들로 하여금 Perl을 사용하고, 생물정보학 에서도 초기에는 Perl 프로그램을 많이 사용하였는데요 Perl은 한 때 HTTP, HTML이 부상하면서 CGI를 위한 언어로 각광 받았습니다.
Perl 코드는 사람에 따라서 일반적인 프로그램처럼 짤 수도 있지만, 간결하게 코드를 짤 수 있는 것으로도 유명합니다.
원래 프로그램 언어를 개발할 때 간결하게 프로그래밍을 할 수 있도록 설계를 하였고, 같은 프로그램도 다양한 형태로 표현될 수 있도록 고려를 하였습니다.
Perl의 강점은 문자열 처리에 활용하는 정규 표현식(Regular Expression)인데요.
텍스트 파일을 읽어서 패턴분석을 하는 데에는 정규표현식을 이용해서 매우 간단하게 프로그램을 만들 수 있을 뿐 아니라, 매우 빠르게 그 처리를 진행할 수 있다. 그런데 이 표현식은 익숙해지지 않으면 해독이 안 되는 암호화된 문 자열처럼 보일 수 있습니다. 하여 여러 연구자, Tester들이 Perl을 애용하고 있습니다.
위의 복잡한 암호처럼 보이는 문자열을 Perl 정규표현식 (Regular Expression)이라고 합니다.
Perl의 가장 큰 강점은, 복잡한 문자열 패턴을 단 한줄의 정 규표현식으로 정리를 할 수 있다는 점인데요.
또한 이 정규표현식의 실행속도는 C로 복잡하게 프로그램을 짠 것과 대등한 속도를 낼 수 있습니다.
이 때문에 텍스트 자료 처리 등에 Perl 의 정규표현식이 자주 사용되곤 하였다.
생물정보학(Bioinformatics)의 경우는 전형적으로 text 파일을 많이 다루는 분야인데요. 반도체 Test 또한 동일합니다.
대부분의 결과물은 텍스트 형태로 저장이 되며, 이 결과에서 원하는 정보를 추출할 일을 자주 수행하게 됩니다.
왜냐하면 대부분의 분석은 한 번에 끝나는 것이 아니고 수 십 단계를 거쳐서 진행이 되기 때문에, 결과로부터 원하는 정보를 빠르게 추출해서 다음 단계에서 분석하는 작업을 거쳐야 하기 때문입니다.
그래서 그 결과로부터 원하는 정보를 빠르게 추출해서 다음 단계에서 분석하는 작업을 거치기에 Perl 언어를 잘 활용해야 빠르고 정확하게 원하는 분석결과를 만들어 낼 수 있습니다.
2. Perl 프로그램
위의 소개된 Perl 프로그램 Strawberry perl 과 Notepad++ 무료 프로그램입니다.
Notepad + + 는 텍스트를 작성하기위한 무료 오픈 소스 응용 프로그램인데요.
옵션이 가득한 편집기 인 Notepad ++는 일반 텍스트뿐만 아니라 프로그래밍에도 자주 쓰이는 편집기 입니다.
3. Perl 출력 프로그램
어떤 언어든 제일 먼저 프로그래밍 연습하는 것이 바로 Hello 시리즈입니다.
지금 Perl에 대해서 공부를 하 고 있으므로, Hello, Perl!을 출력하는 프로그램을 작성해보도록 합시다!
Perl 프로그램 작성 시 가장 첫줄은 #!/usr/bin/perl –w을 넣습니다.
가장 앞에 #은 주석이라는 의미이나, !과 함께 사용하면 UNIX/Linux에서 해당 프로그램 구동시
/usr/bin/perl 프로그램을 인터프리터 로서 쓰라는 것을 의미합니다.
-w는 경고 (warning)을 출력하는 옵션인데, 초기에 프로그래밍을 할 때 유용하게 사용할 수 있습니다.
특히, 변수(variable)의 오탈자로 인해서 오동작 하는 경우를 쉽게 찾아낼 수 있어 많이 사용합니다.
#!/usr/local/bin/perl -w
# hello.pl
print "Hello World\n";
이것이 프로그램의 전부.
print는 다음의 문자열, 숫자, 변수 등을 표준 출력기인 STDOUT에 출력합니다.
- 맨 첫줄의 #!/usr/local/bin/perl은 UN*X, Linux등에서 필요한 것으로 perl의 Full Path입니다.
- \n : C++의 \n과 같은 역할로써 커서를 다음줄 앞으로 보내는 겁니다. (new line)
- # : 이 문자 이후부터 끝까지는 perl로부터 무시됩니다. 주석문이죠. 주석문을 잘 써 놓으면 나중에 프로그램을 읽을 때 쉽게 이해가 되겠죠.
- ; : 한 명령문은 언제나 ;(colon)으로 끝납니다. 이것이 빠지면 다음 명령라인에 error가 발생합니다.
hello.pl은 짐작하시다시피 평범한 ascii 파일(text파일)입니다. 따라서 dos의 edit나 Windows 계열의 notepad, UN*X의 vi 등과 같은 프로그램으로 편집하면 되겠죠.
이상으로 [PERL] 1장 기초 PERL 프로그래밍에 대한 글을 마치겠습니다.
2장에서 좀 더 상세한 내용으로 찾아뵙겠습니다.
'프로그래밍' 카테고리의 다른 글
[중첩반복문] for문 while문 if_else 포함 (0) | 2023.03.10 |
---|---|
EXCEL에서 CSV 파일 합치는 방법 [EXCEL RDB MERGE 다운 및 적용방법] (0) | 2023.02.25 |
[피벗테이블] 피벗테이블 사용법 [예시와 함께 설명] 어떨 때 쓰는 걸까? (1) | 2023.01.09 |
반도체 상장기업 브랜드평판 2022년 분석결과_1위 삼성전자, 2위, 3위는?! (0) | 2022.11.25 |
FIB 란, FIB 기본원리, FIB에 대한 설명, FIB 사례 [종합] (0) | 2022.11.22 |
댓글