날짜: 1996-04-13 | 글쓴이: 도아 | 6845 번 | 프린트 | 메일로보내기

제 13강 - print 문


펄에서는 다른 언어와 달리 화면에 문자열을 출력할 때뿐만아니라 파일로 데이터를 쓸떼에도 print 문을 사용한다. 사실 펄의 프린트문은 어떠한 다른 언어의 print 문보다 유연하며 강력한 기능을 제공한다. 사용형식

print FILEHANDLE LIST
print LIST(print SDTOUT LIST)
FILEHANDLE
LIST를 출력할 파일 핸들. 생략하면 STDOUT로 출력한다.
LIST
FILEHANDLE에 출력할 변수 목록. 일반적으로 쉼표(,)로 분리한다.
간단한 print 문

print "이것은 시험입니다\n";

print 문은 지금까지 계속 보았던 print 문이다. ""로 인용했기 때문에 \n과 같은 특수문자를 사용할 수 있다. 펄에서 사용할 수 있는 특수문자는 \n외에도 다음과 같은 것들을 사용할 수 있다.

\t	탭
\n	개행문자
\r	라인피드
\f	폼피드
\v	수직탭
\b	역스페이스
\a	경고음
\e	Escape
3	8진수
\x1b	16진수
\c[	제어문자
\l	다음 문자를 소문자로
\u	다음 문자를 대문자로
\L	\E까지 소문자로 변환
\U	\E까지 대문자로 변환
\E	문자 변환의 끝을 표시
\Q	\E까지 RE의 메타문자로 처리

또한 이 프린트문은

print STDOUT "이것은 시험입니다\n"

와 정확히 동일한 문장이다. FILEHANDLE이 STDOUT인 경우에는 FILEHANDLE을 생략할 수 있으므로 생략하고 사용한 것이다. 문자열의 변환

print 문에서 사용할 수 있는 \l, \L, \u, \U를 이용하면 문자열의 대소문자를 변환할 수 있다.

1: $name = 'Jae-Geun, Kim';
2: $sex = 'Male';
3: print "\l$name ---- \L$name\E\n";
4: print "\u$name ---- \U$name\E\n";
FORM 출력

1: print "
2: ===================================
3:  날자	| 시작	| 종료	| 담당
4: ===================================
5:  4.10	| 10	| 12	| 김재근
6:  4.10	| 13	| 15	| 송미정
7:  4.11	| 10	| 12	| 무명씨
8: ===================================";

펄에서 ""은 단순한 인용부호가 아니라 연산자로서의 수행한다. 따라서 "" 사이에는 \t, \n과 같은 특수문자 뿐아니라 실제 Tab키와 Enter 키의 입력이 가능하다. 다만 "를 출력하기위해 \"를 사용해야 한다. LIST의 출력

print "1+2=", 1+2, "맞는 답이니?\n";

위의 예에서 알 수 있듯이 print 문은 문자열이 아니라 LIST를 피연산자로 취한다. 이러한 리스트는 리스트 분리자(,)에의해 분리된다. 위의 문장은

print "1+2=";
print 1+2;
print "맞는 답이니?\n";

와 정확히 동일한 문장이다. 다만 리스트 분리자를 사용해서 세개의 문장을 한문장으로 표현한 것이다. Document Here

1: print <<Here;
2: <html>
3: <body>
4: <h1> 방명록 </h1>
5: 증말 쉽군 CGI는...
6: </body>
7: </html>
8: Here

위의 예에서는 print문을 반복해서 쓰기 귀찮은 경우, Document Here라는 기능을 이용한 예이다. Document Here는 <<Here에 이어나온 문장을 Here가 나올 때 까지 프린트하는 기능이다.

Document Here를 사용할 때에도 문자열 인용 규칙이 그대로 통용된다.

1: print <<`Quote`;
2: ls -al
3: cat ~/.cshrc
4: Quote

주의: Document Here를 사용할 때에는 Document Here의 시작과 끝을 나타내는 문자의 앞, 뒤에 절대 공백이 있어서는 안된다. 따라서 Document Here 사용하는 경우에는 가급적 들여쓰기를 하지 않는 것이 좋다. 파일로 출력(저장)

 1: open(F, ">file") || die "$!");
 2: print F "
 3: ===================================
 4:  날자	| 시작	| 종료	| 담당
 5: ===================================
 6:  4.10	| 10	| 12	| 김재근
 7:  4.10	| 13	| 15	| 송미정
 8:  4.11	| 10	| 12	| 무명씨
 9: ===================================";
10: close(F);

위의 예에서와 같이 STDOUT 대신에 생성모드나 덧붙인 모드로 연 파일핸들을 지정하면 해당 파일에 LIST의 내용을 저장할 수 있다. 사실 펄은 파일에 데이터를 저장하기위해 주로 print 문을 사용한다.



다음글: 제 14강 - CGI의 출력 (7448)1996-04-14
이전글: 제 12강 - 파일핸들 (10052)1996-04-12

세상사는 이야기

  • 찾아라! 아이폰 순정용 >
  • 만원대 피젯 스피너를 >
  • 망하는 길을 택한 쿠팡 >
  • 물놀이에 적당한 가성 >
  • 컴퓨터를 IPTV로 2, po >
  • 컴퓨터를 IPTV로 만들 >
  • Warning.or.kr도 우회 >
  • 한국의 100대 부자, 어 >
  • 세상을 바꾼 크롬: 크 >
  • 장난(?)으로 시작한 여 >


  • RSS 구독 (익명 | 회원 | 강좌 | 포럼)
    (C) 1996 ~ 2017 QAOS.com All rights reserved.