Monday, September 11, 2006
펄/Perl] 외부명령 실행 후, 화면 글자 캡처하여 배열에 저장 - 실행 연산자 Backquote
프로그래밍 언어인 '펄'에 대한 게시물입니다.
펄은 system 함수로, 외부 명령/외부 파일을 실행시킬 수 있습니다. (▶▶ [Perl] 외부명령(dir 등) / 외부파일(.exe 등) 실행하는 함수 - system / exec 참고)
또한 외부 명령을 실행한 후, 그 외부 명령의 출력 결과를 캡처하여 배열로 저장하는 방법이 있습니다.
가령 펄 스크립트 내부에서, dir 이라는 명령을 실행했다면 그 dir이 출력한 파일 목록을 펄로 쉽게 가져올 수 있습니다.
`
바로 이런 Acute accent 또는 Backquote 이라는 이름의 특수한 문자로, 명령어를 감싸 주는 것입니다.
마치 작은따옴표(홑따옴표)처럼 보이지만, 작은따옴표가 아닙니다. 키보드 가장 좌측의 물결무늬(~) 밑에 있는 기호입니다.
펄에서 dir 명령을 호출한 후, 그 dir 명령의 결과를 @s 라는 배열에 저장한 것입니다. (배열이 아닌, 변수로 받아도 됩니다.)
이해를 돕기 위해, 앞뒤로 -------------- 이런 줄을 넣었습니다.
위의 스크립트를 실행했을 때 나타나는 결과는, dir의 직접적인 출력이 아니라, 펄의 배열을 경유하여 간접적으로 출력된 것입니다.
펄은 system 함수로, 외부 명령/외부 파일을 실행시킬 수 있습니다. (▶▶ [Perl] 외부명령(dir 등) / 외부파일(.exe 등) 실행하는 함수 - system / exec 참고)
또한 외부 명령을 실행한 후, 그 외부 명령의 출력 결과를 캡처하여 배열로 저장하는 방법이 있습니다.
가령 펄 스크립트 내부에서, dir 이라는 명령을 실행했다면 그 dir이 출력한 파일 목록을 펄로 쉽게 가져올 수 있습니다.
`
바로 이런 Acute accent 또는 Backquote 이라는 이름의 특수한 문자로, 명령어를 감싸 주는 것입니다.
마치 작은따옴표(홑따옴표)처럼 보이지만, 작은따옴표가 아닙니다. 키보드 가장 좌측의 물결무늬(~) 밑에 있는 기호입니다.
실행 화면 갈무리 예제
펄에서 dir 명령을 호출한 후, 그 dir 명령의 결과를 @s 라는 배열에 저장한 것입니다. (배열이 아닌, 변수로 받아도 됩니다.)
#!/usr/bin/perl
my @s = `dir`;
print "------------------------------------------------------------------------\n";
print @s;
print "------------------------------------------------------------------------\n";
my @s = `dir`;
print "------------------------------------------------------------------------\n";
print @s;
print "------------------------------------------------------------------------\n";
이해를 돕기 위해, 앞뒤로 -------------- 이런 줄을 넣었습니다.
위의 스크립트를 실행했을 때 나타나는 결과는, dir의 직접적인 출력이 아니라, 펄의 배열을 경유하여 간접적으로 출력된 것입니다.
tag: perl
Perl | 펄
잘배우고 갑니다~
<< Home