【发布时间】:2015-03-14 03:27:21
【问题描述】:
我正在尝试将一个字符串与另一个进行比较。
如果它是一个包含东西的 JSON 结构,我想打印“包含东西”。 如果它是一个不包含东西的 JSON 结构,我打印“空” 如果它不在大括号“{}”之间,我会打印出错误。
这是我所做的:
if($content =~ m/{.+}/){
print "Contains things \n";
} elsif($content eq "{}"){
$job_status{$url}="";
print "empty \n";
} else {
print "Error \n";
}
当我将“{}”传递给变量$content时,他没有进入“elsif”,而是进入“else”,并抛出错误。 我尝试在 if 中放入“==”而不是“eq”,尽管我知道它是用于数字的。如果是这样,他输入“elsif”,并打印“empty”,就像他应该使用“eq”一样,然后抛出:
Argument "{}" isn't numeric in numeric eq (==)".
我可以使用 JSON 库,但我不喜欢。
感谢您的帮助!
比迪
【问题讨论】:
-
你有没有做过其他调试?尝试打印出 $content 变量:
echo " '" . $content . "' ";
标签: string perl comparison