이것은 내 주먹 stackoverflow 게시물입니다. :)Perl GetOpt :: 선택 매개 변수가있는 복수 인수
나는이 시나리오를 GetOpt :: Long으로 풀려고한다.
./myscript -m/ABC -m/BCD -t NFS -m/ECD -t NFS ...
-m 배치 될 수있다 (포인트 및 -t 파일 시스템의 타입이 장착하고, 하지만 필수는 아닙니다).
Getopt::Long::Configure("bundling");
GetOptions('m:[email protected]' => \$mount, 'mountpoint:[email protected]' => \$mount,
't:[email protected]' => \$fstype, 'fstype:[email protected]' => \$fstype)
이 잘하지, 난 할 수 쌍 적절한 마운트 아니에요 내가 예를 들어, fstype이다 지정을 채울 필요
./check_mount.pl -m /abc -m /bcd -t nfs -m /ecd -t nfs
$VAR1 = [
'/abc',
'/bcd',
'/ecd'
];
$VAR1 = [
'nfs',
'nfs'
];
fstype이다 "undef"값. 나를 위해 가장 좋은 방법은
%opts;
$opts{'abc'} => 'undef'
$opts{'bcd'} => 'nfs'
$opts{'ecd'} => 'nfs'
그것이 가능 등 ... 같은 해시받을 것 ? 고맙습니다. docs의 "인수 콜백"섹션에서
옵션에 대해 매우 구체적인 명령을 시행하려고 시도하지만 매우 일반적이거나 직관적이라고 생각하지 않습니다. 만약 내가 당신의 응용 프로그램 사용자라면'-m foo -t bar'가'-t bar -m foo'와 같을 것이라고 생각합니다. Getopt :: Long을 사용하여이 작업을 수행 할 수는 있지만 다른 디자인이 더 좋을 것이라고 생각합니다. – ThisSuitIsBlackNot