문자열의 끝에서 라인 끝까지를 제거하며, 지워진 문자의 개수를 리턴한다. 근본적으로 chop와 같은 일을 한다. 그러나 줄바꿈은 DOS의 경우 0x0D0A이지만 Unix의 경우에는 0x0A이다. 따라서 줄바꿈 문자를 제거하기위해 chop를 사용하면 Unix에서는 제데로 동작하지만 DOS에서는 제대로 동작하지 않는다. 이 chomp 함수는 OS 때른 줄바꿈 문자의 개수를 인식할 수 있으므로 줄바꿈 문자를 정확히 제거할 수 있다.
주의
chomp는 perl 5에서 지원하는 기능이다. 따라서 perl 4에서는 사용할 수 없다.
lc(STRING)
이제부터 웹상에서 가장 흔히 볼수 있는 CGI 프로그램인 방명록을 작성하도록 하자. 방명록은 사용자의 입력을 받아 데이터 파일에 기록하는 가장 간단한 CGI 프로그램이다. 이 방명록 CGI는 기본적으로 다음과 같은 세가지 파일로 구성된다.
guest.html
guest.html은 방문자의 입력을 받아들이기위한 폼 문서로서 다음과 같이 구성된다.
이름, 전자우편, 홈페이지는 <INPUT> 태그의 TYPE을 TEXT로 한 것이다. 전자우편과 홈페이지는 VALUE 속성을 주어 기본값을 출력하도록 했으며 의견은 <TEXTAREA> 태그를 사용했다. 보내기와 지우기는 <INPUT> 태그의 TYPE를 SUBMIT과 RESET로 만든 것이다.
<FORM>의 ACTION 속성은 앞으로 작성할 guest.cgi로 해야 한다.
이 폼문서는 사용자의 입력을 받아들이는 문서이므로 파일의 권한은 644이어야 한다.
% chmod 644 guestform.html
guestbook.html
방문자가 입력한 내용을 저장하는 방명록 데이타 파일이다. 이 파일은 다음과 같은 형태로 작성한다.
사용자가 입력한 데이터는 방명록 파일의 뒷부분에 추가되므로 HTML의 종료태그인 </body></html>을 쓰지 안도록 한다.
일반적으로 웹서버는 nobody 권한으로 기동되며, 웹서버가 만든 자식 프로세서인 CGI도 nobody 권한을 갖게된다. 이 nobody 권한을 갖는 CGI가 파일에 데이터를 쓰기위해서 파일의 권한은 반드시 666이어야 한다. 따라서 이 파일을 작성한 후 Unix 명령행에서 다음과 같이 입력한다.
% chmod 666 guestbook.html
guest.cgi
guest.html으로부터 입력을 받아 guestbook.html에 입력을 저장하는 CGI이다. CGI 프로그램은 실행 파일(웹과 Unix 명령행에서)이므로 파일의 권한은 755를 이야야 한다. 따라서 이 파일을 작성한 후, Unix 명령행에서 다음과 같이 입력한다.
% chmod 755 guestdata.html
guest.cgi 작성
guest.html은 웹에서는 URL을 이용해서 참조하며, CGI가 읽고 쓸때에는 Unix 시스템 경로를 사용한다. 두 개의 스칼라 변수, $guestreal, $guesturl에 guestbook.html 파일의 시스템 경로와 URL을 할당한다.