0

我得到了$var1和的以下值$var2$var1是:

Dec 12 17:08:00  webui[1310]: USER:admin@10.10.200.27 COMMAND:<local-userdb-ap add mac-address "00:0b:86:68:03:a6" ap-group "remoteAP" ap-name "HBF_03-56_RAP1" description "RAP deployed in HarbourFront" > -- command executed successfully

$var2也是一样的。

当我只做比较时:

if( $var1 eq $var2)
{
  print "OK";
}
else
{
  print "Not OK";
}

这是行不通的。我也尝试 chomp 这两个变量。但还是没有用。请建议..这是否可以比较这样的字符串?

新编辑::

$var1 是

Dec 12 17:08:00  webui[1310]: USER:admin@10.10.200.27 COMMAND:<local-userdb-ap add mac-address "00:0b:86:68:03:a6" ap-group "remoteAP" ap-name "HBF_03-56_RAP1" description "RAP deployed in HarbourFront" > -- command executed successfully

和 var2 也是一样的。当我尝试使用 If 语句对此进行比较时,这是行不通的。Dumper 显示以下值:

$VAR1 = "Dec 12 17:08:00  webui[1310]: USER:admin\@10.10.200.27 COMMAND:<local-userdb-ap add mac-address \"00:0b:86:68:03:a6\" ap-group \"remoteAP\" ap-name \"HBF_03-56_RAP1\" description \"RAP deployed in HarbourFront\" > -- command executed successfully ";

$VAR2 = "Dec 12 17:08:00  webui[1310]: USER:admin\@10.10.200.27 COMMAND:<local-userdb-ap add mac-address \"00:0b:86:68:03:a6\" ap-group \"remoteAP\" ap-name \"HBF_03-56_RAP1\" description \"RAP deployed in HarbourFront\" > -- command executed successfully ";

在这方面,$VAR1 和 $VAR2 看起来也一样。但是如果声明是说这不相等。

4

1 回答 1

0

Dumper 输出可能是错误的(它不显示内部标量标志)。试试 Devel:Peek 模块,它导出 Dump 方法,你会看到所有的标志。

例如,如果您有 2 个变量,请尝试以下代码:

$var1 = unpack('b*', $var1);
$var1 = pack('b*', $var1);

$var2 = unpack('b*', $var2);
$var2 = pack('b*', $var2);

if ($var1 eq $var2) {
    print 'equal';
}
else {
    print 'not equal';
}

$var1 和 $var2 你的字符串在哪里。

如果使用 utf8 标志出现问题,您可以使用 decode_utf8 和 encode_utf8,我希望这会有所帮助。

于 2013-09-06T12:21:23.220 回答