我正在使用 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");
}
}
}