我正在尝试执行以下命令-但输出中引入了一些前导空间。

ls -lrt | wc -l
     29
echo $SHELL
/bin/bash

当我在另一台机器上运行相同的命令时,输出是预期的。
ls -lrt | wc -l
183
echo $SHELL
/bin/bash

前导空格导致我的perl验证失败
unless ( $phCountRet->{COUNT} =~ /^\d+$/ ){
...
}

我可以选择修剪前导空白,然后进行验证,但这不是一个干净的解决方案。

任何可能导致这种情况的指针都将提供很大的帮助。

最佳答案


unless ( $phCountRet->{COUNT} =~ /^\s*\d+$/ ){

这也匹配前面带有空格的数字。

10-07 14:23