gpt4 book ai didi

perl - 使用 if 语句时是否可以匹配 perl 中的部分单词(包括 bash 示例)

转载 作者:行者123 更新时间:2023-12-05 00:10:02 25 4
gpt4 key购买 nike

在 perl 中匹配部分单词的正确方法是什么?例如,我想匹配“CentOS”,以便匹配 CentOS 6、CentOS 7 和 CentOS 8 等结果。

我知道如何在 bash 中执行此操作,如下所示:

if [[ "$os" == *"CentOS"* ]]; then
echo $centosversion
else
echo $differentos
fi

在上面的 bash 示例中,它将找到任何包含“CentOS”的结果。

如何使用下面的 perl 代码实现此目的?

if ($os eq "CentOS") {
print "$centosversion";
} else {
print "$differentos";
}

我尝试使用:

($os eq *"CentOS"*)

(($os eq *"CentOS"*))

但这似乎不正确?

也许我做的完全错了,但我对 perl 了解不多。我希望有人能指出我正确的方向。

最佳答案

您可以使用 index()函数 - 在其他字符串中查找字符串。

if (index($os, 'CentOS') != -1) {
print "$centosversion";
} else {
print "$differentos";
}

另一种选择是正则表达式匹配。但是,对于固定字符串,这可能有点矫枉过正。

if ($os =~ /CentOS/) {
print "$centosversion";
} else {
print "$differentos";
}

关于perl - 使用 if 语句时是否可以匹配 perl 中的部分单词(包括 bash 示例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58766386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com