실행할 때 명령 줄 인수를 받아들이는 스크립트/응용 프로그램을 만들려고합니다. 물론, 이것은 일상적인 일이지만, 내가 이것을하는 것이 처음이므로, 어떤 지침을 찾고 있습니다. 의 내 스크립트 명령 행 인수 이러한 종류의 걸릴 수 있다고 가정 해 봅시다 : 때문에 명령 줄 스크립트의 유연한 특성으로Perl 스크립트에서 명령 줄 인수를 처리하는 올바른 방법은 무엇입니까?
script -a -p /path/to/pipe -l mail.Error -m [email protected]
script -a -l mail.Error -m [email protected] -p /path/to/pipe
and so on....
을 인수 당신이 /가 주문의 다양한 일부가 누락 될 수 있습니다 그것을 전달할 수 있습니다 잘못된 인수. 이제는 인수가 어떻게 나타나야하는지에 대해 매우 엄격하게 해결할 수 있습니다 (먼저 -a
, 경로가있는 -p
, 로그 기능/우선 순위가있는 -l
, 마지막으로 유효한 전자 메일이있는 -m
) 가능한 모든 테스트를 통해 해결할 수 있습니다. 그것들의 발생.
그러나 더 좋은 방법이 있어야합니다. 이것은 매우 비효율적이며 (나에게) 나는 일을하는 더 좋은 방법이 있는지 궁금해하고있었습니다. 가능한 한 유연하게 유지하고 엄격한 사용법에 초점을 두지 않고 작동 시키려고합니다.
또한 'GetOptions'에 해시 참조를 전달할 수 있으며 모든 정보를 해시에 저장합니다. 예를 들어'GetOptions (\ % opt, "path = s", "log = s")가 주어지면'-path/tmp'는'$ opt {path} == "/ tmp"'를 제공 할 것입니다. 코드에서 쉽게 볼 수있는 명령 행 옵션의 정보를 갖는 것이 편리하다는 것을 알았습니다. –