switch ステートメントを使用して、端末で提供される引数を確認しています。エンドユーザーが提供する場合、提供されたスクリプトは正常に機能しています
$perl test.pl -help
ただし、ユーザーが以下のオプションを指定している場合、サブルーチンは再帰的に呼び出されません。
$perl test.pl -link abc -web test.com
提案してください!
use Switch;
#perl test.pl -help
#perl test.pl -link abc -web test.com
sub CheckArgument {
my ($argv) = shift @_;
local $\ = "\n";
print "\$argv : $argv\n";
switch($argv) {
case /-help/ {
print "Usage : $0 -link <link name> -web <website name>";
print "Usage : $0 -list_web_name";
exit;
}
case /-list_web_name/ {
print "Currently Support following site";
foreach (qw/abc/) {
print "$_";
}
exit;
}
case /-link/ {
CheckArgument($ARGV[3]);
}
case /-web/ {
print "argument provided : @ARGV\n";
}
default {
CheckArgument("-help");
}
}
}