Perl - 파일 핸들에서 foreach 와 while의 차이
조회수 3990 답변수 1 반응수 1 등록일 2016.06.01 01:32:48

로그 파일의 모든 라인을 읽어 드리려고 하고 있습니다. 

Perl에는 파일핸들(filehandle) 로 아래와 같이 두가지의 반복문이 있는걸로 알고 있는데 

차이점이 궁금하네요.

  1. while(<>) {
  2.     print "$_\n";
  3. }
  1. foreach(<>) {
  2.     print "$_\n";
  3. }


자문자답.


while문의 경우 로그의 라인 하나를 읽어 변수에 대입하고 반복문이 수행된다.

foreach의 경우 로그의 모든 라인을 변수에 대입하고 반복문이 수행된다.


그러므로, 로그 파일이 큰 경우에는 foreach가 while에 비해 더 많은 메모리와 처리 시간이 필요하다.

일반적으로는 while문을 사용하는게 좋다.


2016.06.05 01:38:48 반응 이력

답변 작성

질문에 적합한 답변을 상세히 작성해 주시기 바랍니다.

답변이 찬성되면 태그평판 +2점이 적립, 반대되면 태그평판 -1점 차감됩니다.

답변이 채택되면 태그평판 +10점이 적립됩니다.

etc 게시판 정보
  • 1.7k
    질문수
  • 100
    아카이브수
  • 46
    채택수
  • 0
    멤버수
etc 질문 통계
최근 30일
답변율
6%
채택율
0%
전체
답변율
3%
채택율
2%
최근에 등록된 질문