[첫화면으로]Perl/외부프로그램실행

마지막으로 [b]

Perl에서 다른 프로그램 실행하기

1. pipe

pipe를 통한 입출력1

# 출력 파이프
open (OUT, "|more") or *OUT = *STDOUT;
# 입력 파이프
open (IN, "lynx|") or die "Couldn't start lynx";

파이프를 쓴 후에는 반드시 close를 해 주자.2

open을 인자 3개 형식으로 사용할 경우는 출력은 "|-", 입력은 "-|"로 표기.3

2. system

프로그램을 실행시키고, 종료할 때까지 대기.4

쉘을 거쳐서 프로그램을 실행하는가, perl이 직접 실행하는가의 차이에 주의5

실행된 프로그램의 종료코드값은 $?의 값을 128로 나누면 된다...라고 Beginning perl에 나와 있으나, perldoc -f system의 말과 테스트에 의하면 256으로 나눠야 한다. $?에 대해서는 /에러처리 참조.

더 자세한 내용은 /System 참고

3. backtick, qx()

실행된 프로그램의 표준출력을 리턴한다.

실행에 실패하면 $!변수에 에러 메시지가 담김.

4. 기타 & comments

이름:  
Homepage:
내용:
 


컴퓨터분류

각주:
1. 4. 5. Beginning Perl, Chapter 14
2. 예전에 적어놨는데 출처는 모르겠음
3. Perldoc:open

마지막 편집일: 2016-2-5 11:54 pm (변경사항 [d])
5052 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기