我正在尝试执行以下命令-但输出中引入了一些前导空间。
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+$/ ){
这也匹配前面带有空格的数字。