perl中,请问这个是什么意思:if ($ARGV[0] =~ ⼀^(p | platform)=(尀w+)⼀i) $plat = $2;初次学习perl语言

2024-11-17 00:26:18
推荐回答(3个)
回答1:

if ($ARGV[0] =~ /^(p | platform)=(\w+)/i) #--如果第一个参数的开头格式为“p=”或“platform=”(忽略大小写)
{
$plat = $2; #---------则将该参数=号之后的值赋给plat这个变量
}

1. 以p 或是platform开头
2. 就是匹配=号

回答2:

$ARGV[0] 输入的第一个变量
后面的正则表达式: 匹配以 p= 或者 platform = 开头的字符串,忽略大小写。比如p=12345
如果两者两同,则将p=后面的值赋值给 $plat. 所以此时 $plat=12345

回答3:

如果第一个参数 在忽略大小写的情况下 以p或platform开头, 就把=号后面的值放到$plat里,
(1)对的
(2)一定有等号