Friday, August 18, 2006
Perl/펄] 외부명령(dir 등) / 외부파일(.exe 등) 실행하는 함수; system, exec
system() 함수로, 외부 명령/파일 실행 예제
system 이라는 이름의 함수로, 펄 안에서, 외부 명령이나 외부 실행파일을 실행할 수 있습니다.
#!/usr/bin/perl
use strict; use warnings;
# dir 명령 실행
system 'dir';
# 윈도우의 메모장 실행
!system('notepad') or die "$!\n";
# 위의 경우, 만약 notepad.exe 를 실행시키지 못했을 때는
# 에러 메시지를 출력하고 종료.
use strict; use warnings;
# dir 명령 실행
system 'dir';
# 윈도우의 메모장 실행
!system('notepad') or die "$!\n";
# 위의 경우, 만약 notepad.exe 를 실행시키지 못했을 때는
# 에러 메시지를 출력하고 종료.
exec() 함수로, 외부 명령/파일 실행
exec 함수는 system 함수와 달리, 실행시킨 외부 명령이 종료되기를 기다리지 않습니다. 외부 명령을 실행시키고 즉시 펄 프로그램 자체도 종료시켜 버립니다. 그래서 exec 함수 뒤에 있는 펄 코드들은 실행되지 않습니다.
보통의 경우에는 system 을 사용하고,
외부 프로그램을 실행하는 동시에, 펄을 종료해야 할 때는 exec 함수를 사용합니다.
#!/usr/bin/perl
use strict; use warnings;
exec('dir');
use strict; use warnings;
exec('dir');
위의 예제들은 윈도우용 액티브펄(ActivePerl)로 만들었는데, 리눅스에서도 마찬가지입니다.
▶▶ 펄/Perl] 외부명령 실행 후, 화면 글자 캡처하여 배열에 저장 - 실행 연산자 Backquote
▶▶ Perl/펄] COMMAND, CMD 실행; 도스 셀(DOS Shell) 호출 예제
tag: perl
Perl | 펄
<< Home