Perl 파일 처리 기초: open, read, write 사용법
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

파일 핸들 사용법: Perl을 통한 파일 처리 기초

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

Perl 초보 개발자 및 파일 I/O 기초를 배우고자 하는 프로그래머

난이도: 중간 (기초 문법 이해 필요)

핵심 요약

  • Perl에서 파일 처리는 open 함수와 파일 핸들(FH)을 사용하여 수행하며, "<", ">", " >>" 등 다양한 모드로 파일을 열 수 있음.
  • 에러 처리는 die 함수로 강제 종료하여 안정적인 프로그래밍 가능.
  • 파일 읽기/쓰기 후 반드시 close로 자원 해제해야 하며, 디렉터리 조작은 opendir, readdir, closedir 사용.
  • 모듈화된 로깅 기능 구현을 통해 파일 처리 실무 적용 가능.

섹션별 세부 요약

1. 파일 열기 및 모드 설정

  • open 함수 사용 시 파일 핸들, 모드, 파일명 3가지 인수 필요.
  • 모드 예시:

- <: 읽기 전용 (예: open(FH, "<", "file.txt"))

- >: 파일 내용 덮어쓰기 (트리미네이트)

- >>: 파일 끝에 내용 추가 (Append)

  • 바이너리 모드(:raw)와 인코딩(:utf8) 지원.

2. 파일 읽기 및 처리

  • readline 또는 한 줄씩 읽기 가능.
  • 예시:

```perl

while (my $line = <$fh>) { print "$line"; }

```

  • or die 문으로 파일 열기 실패 시 예외 처리.

3. 파일 닫기 및 디렉터리 조작

  • close($fh)파일 핸들 해제 및 변경사항 저장.
  • 디렉터리 열기: opendir(my $dir, '/path/to/dir')
  • ... 특수 항목 필터링 (next if ($entry =~ /^\.\.?$/)).

4. 파일 존재 여부 체크 및 플래그 사용

  • -e, -f, -d파일/디렉터리 상태 확인 플래그 사용.
  • 예: -e "file.txt"는 파일 존재 여부 확인.

5. `Personal::Log` 모듈 구현 예시

  • Module::Starter로 모듈 생성 후 테스트 파일(t/01-log.t) 작성.
  • new 메서드: 파일 존재 시 기존 내용 읽기, 미존재 시 빈 배열 초기화.
  • log 메서드: 메시지 추가 및 파일에 쓰기 (" >>" 모드 사용).

결론

  • 파일 처리 시 항상 die로 에러 처리하고, close로 자원 해제.
  • 디렉터리 조작 시 특수 항목(...) 제외.
  • 모듈화된 로깅 기능 구현을 통해 파일 I/O 실무 적용 가능.