개발/ETC

텍스트 파일 읽어오기 - 펄(perl)

신매력 2014. 1. 11. 19:36

자바로 했었던것을 perl로도 한번 해봤다. 처음써봤음.



텍스트 파일에 아래와 같은 내용이 들어있다.

코드명과 값이 세미콜론으로 구분되어있는 상황.

이 파일을 읽어와서 출력해 볼 것이다. 


code.txt

CODE001;first

CODE002;second

CODE003;third 



1) 텍스트 파일 저장


perl 소스코드가 있는 디렉토리와 같은 위치에 저장했다.



2) 파일 읽어와서 출력하기


open (TEXT, "code.txt");

while(<TEXT>) {

        $line = $_;

        @result = split /;/, $line;

        foreach(@result) {

                print $_ . "\n";

        }

}


출력결과 >>

CODE001

first


CODE002

second


CODE003

third



perl에서 

$ 기호는 일반 변수를 의미하고,

@ 기호는 배열을 의미한다.


참고로 펄에는 아래와 같은 모양의 변수가 있다.

$_ 


이름은 기본변수 또는 topic이라고 불린다고 한다.

'디폴트 변수' 이다.


위의 코드를 보면, 반복문이 돌면서 라인하나씩을 읽어들이는데,

그 내용은 $_  기본변수에 들어가게 된다.

(위 예제에서는 기본변수에 들어있던 값을 $line 변수에 어싸인했다.)



세미콜론 구분자를 통해 파싱해서 @result 배열에 넣었다.

foreach문을 보면, 배열에서 꺼내온 값은 또 기본변수에 자동으로 들어가있다.

(아까 $line변수에 어싸인할 때와는 다른값이 들어있는 것이다)



기본변수라는 것은 편하긴 하면서도, 남용하면 가독성이 떨어질듯.