2014-02-14 1 views
1

다른 perl 스크립트의 스위치로 다른 폴더에있는 perl1.pl을 호출하려고합니다. perl2.pl을 말합니다.매개 변수가있는 다른 perl 스크립트에서 perl 스크립트를 호출하십시오.

perl1.pl -arg $arg1 -arg2 $arg2 

이제 문제는 perl2은 다음과 같이 실행될 때 $ ARG1이 프로그램 perl2에서 내부적으로 생성됩니다와 $ ARG2 스위치에서 얻을 수 있습니다 : 은 보통 perl1처럼라고합니다.

시스템 명령을 사용하여 perl1.pl을 호출했지만 작동하지 않습니다. 이 일을 할 수있는 방법이 있습니까? perl1에는 항상 필요한 사용자를 받아들이는 인자가 거의 없다. 나는 그들을 보내는 방법을 모르겠다.

+0

* "해결책이 필요하지 않습니다." –

답변

1

몇 가지 예가 유용 할 수 있습니다. 실행 파일의 출력을 캡처하기 위해 백틱을 사용할 수 있습니다.

### in perl1 
my $ret = `$perl2 -arg2 $arg2`; 
chomp($ret); 
print "ret: $ret\n"; 
0

당신은 출력을 캡처 CPAN 모듈 IPC::System::Simple을 사용할 수 있습니다. 자세한 내용은 여기를 참조하십시오. IPC::System::Simple

my $output = capture("some_command", @args); 
관련 문제