서브 루틴을 통해 호출하는 경우 어떻게 perl에서 쉘 명령을 실행합니까?펄 루틴 내에서 쉘 명령을 실행하는 방법은 무엇입니까?
예를 들어, 나는 특정 값을 얻기 위해 명령 줄에서이 작업을 실행할 수 있습니다 : 나는 펄 서브 루틴 내에서이 명령을 실행하고 호출 할
mycert-util --show test.user.myuser_cd
. 예를 들어 내 루틴은 get_auth
이고, get_auth
의 값을 출력하고 싶습니다.
코드 : 당신은 아마 당신의 $ 간부 변수와 적절하게 다음 출력을 반환해야처럼
use strict;
use warnings;
#&get_auth;
#get_auth();
print "The value is: get_auth() \n";
sub get_auth
{
$exec=`mycert-util --show test.user.myuser_cd`;
}
원하는 코드가 원하는대로 작동하지 않습니까? 그렇지 않은 경우, 원하는 행동은 무엇이며, 대신 무엇을합니까? –
그런데 perl은 큰 따옴표로 묶인 문자열에서 서브 루틴 호출을 보간하지 않으므로 값은 ".get_auth()."\ n "'이어야합니다. (그리고 인식되어야 할 하위 정의 뒤에 와야합니다). 그러나 이것은 쉘 명령어 _in_와 아무런 관련이 없습니다. –