날짜: 1996-03-08 | 글쓴이: 도아 | 11333 번 | 프린트 | 메일로보내기

펄을 배우자 - 제 5강 파일핸들


다음은 UNIX cat 명령과 거의 동일한 펄 프로그램이다.
#!/usr/local/bin/perl
#
# 암호파일을 읽고, 이것을 출력한 후, 다시 닫는다.

$file = '/etc/passwd';	# 파일명
open(INFO, $file);		# 파일 열기
@lines = <INFO>		# 읽어서 배열로 저장
close(INFO);		# 파일 닫기
print @lines;		# 배열출력
open 함수는 입력 파일을 연다(예: 읽기). 첫번째 매개변수는 앞으로 펄이 파일을 참조할 때 사용하는 filehandle이다. 두번째 매개변수는 파일명을 표시하는 표현식이다. 파일명이 인용되면 쉘확장없이 문자적으로 취해진다. 따라서 표현식 '~/notes/todolist'는 성공적으로 해석되지 못한다. 강제로 쉘 확장을 하려면 소괄호를 사용한다. 즉, 를 사용하면 된다. close 함수는 파일에대한 동작을 종료하도록 펄에 지시한다. 파일핸들에대한 논의에 추가해야 하는 몇몇 유용한 것들이 있다. 먼저 open문은 입력뿐만아니라 출력 파일, 추가용 파일을 지정할 수 있다. 출력 하기위해서는 파일명 앞에 >를 붙이며, 덧붙이기위해서는 >>를 붙인다:
open(INFO, $file);		# 입력으로 열기
open(INFO, ">$file");	# 출력으로 열기
open(INFO, ">>$file");	# 추가로 열기
open(INFO, "-');	# 표준출력 열기
위의 프로그램에서 정보는 파일로부터 읽혀진다. 파일은 INFO 파일이며, 이것으로 부터 읽기위해 펄은 소괄호를 사용한다. 따라서
@lines = ;
은 파일핸들에의해 지시된 파일을 배열 @lines로 읽어들인다. 라는 표현식은 한번에 파일 전체를 읽게된다. 이 것은 배열 환경에서 읽기가 취해졌기 때문이다. @lines를 스칼라 $lines로 대치하면 한 행만 읽혀진다. 어떠한 경우이든 각 행은 개행문자로 끝난다. 연습 각행의 선두에 # 기호를 출력하도록 위의 프로그램을 변경한다. 한행만 변경해야하며, $" 변수를 사용한다. 예기치 않은 일들이 파일을 처리하는 중에 발생할 수 있으므로 펄 프로그램 실행 절에서 언급한 -w을 사용한다.


다음글: 펄을 배우자 - 제 6강 제어구조 (11763)1996-03-09
이전글: 펄을 배우자 - 제 4강 배열 변수 (8243)1996-03-07

세상사는 이야기

  • 윈도 10, 한영 전환도 >
  • 바보도 할 수 있는 War >
  • 북마크에도 확장 아이 >
  • 크롬은 가라, 비발디가 >
  • 감히 아이폰 관리의 최 >
  • 디지털 노마드의 편집 >
  • [블로그 복귀 알림] 새 >
  • 오타도 즐거운 안드로 >
  • 최고의 OCR 어플, Text >
  • 누구나 할 수 있는 순 >


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