我试图比较一个encode_base64('test')包含base64字符串'test'的字符串变量.问题是它永远不会验证!
use MIMI::Base64 qw(encode_base64);
if (encode_base64("test") eq "dGVzdA==")
{
print "true";
}
Run Code Online (Sandbox Code Playgroud)
我忘了什么吗?
当您进行字符串比较并且意外失败时,请打印字符串以查看其中的实际内容.我在值周围放置括号以查看任何额外的空格:
use MIME::Base64;
$b64 = encode_base64("test");
print "b64 is [$b64]\n";
if ($b64 eq "dGVzdA==") {
print "true";
}
Run Code Online (Sandbox Code Playgroud)
这是使用有史以来最好的调试器的基本调试技术.习惯了很多使用它.:)
此外,有时您需要阅读文档以获取一些时间来捕获重要部分.在这种情况下,MIME :: Base64告诉您encode_base64采用两个参数.第二个参数是行结尾,默认为换行符.如果您不想在字符串末尾添加换行符,则需要为其指定另一行结尾,例如空字符串:
encode_base64("test", "")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1847 次 |
| 最近记录: |