我正在尝试在其中创建一个字符串的SHA-256哈希
Mason
通过关注 Stack Overflow 问题的答案
SHA256 digest in perl
并使用
Digest::SHA
模块
这些是包含该代码的文件function
的内容:
abc.mi
但它引发了以下错误:
use Digest::SHA qw(sha256_hex);
<%init>
my $message = 'random content';
my $encryptedMsg = sha256_hex($message);
</%init>
任何想法为什么它将Undefined subroutine &Safe::Root0::HTML::Mason::Commands::sha256_hex called
视为未定义,即使我在文件本身的开头定义它?
这是否与事实有关,这是具有扩展名sha256_hex
的Mason代码?
==========编辑==========
在查看此问题的答案后,以下是我的查询的解决方案。
.mi
答案 0 :(得分:3)
在Mason中,您的Perl代码需要在您的代码中。标签之外的任何内容都只是要包含在输出中的内容。所以你需要这样的东西:
<%init>
use Digest::SHA qw(sha256_hex);
my $message = 'random content';
my $encryptedMsg = sha256_hex($message);
</%init>