[CPAN] Getopt::Long

職場の環境では、RHEL4とCentOS5が混在しているのだが、
CentOS5で書いたスクリプトがRHEL4で跳ねられた。

原因は、Getopt::Longのversion

  • CentOS5: 2.35
  • RHEL4: 2.34

2.35では以下の書き方ができる。

test.pl --dst host1 hose2 host3 -- cmd

GetOptions ("servers=s{,}" => \%servers);

2.34ではこれをサポートしていないのでNG

こんな感じで指定する。

test.pl -d host1 -d host2 -d host3
test.pl -d host1,host2,host3

GetOptions ("library=s" => \@libfiles);
@libfiles = split(/,/,join(’,’,@libfiles));

わざわざ、2.35以降に上げることもないか・・