繁体   English   中英

哈希生成脚本上的Perl语法错误

[英]Perl syntax errors on hash generating script

运行代码时出现以下错误:

syntax error line 5, near "use Digest::MD5

sub makeKey 
"
syntax error at line 8, near "}"
syntax error at line 15, near ")
}"
Execution aborted due to compilation errors.

我的剧本:

use lib '/home/me/Desktop/pm/MD5.pm';
use Digest::MD5

sub makeKey 
{
    my ($strPassword, $strRndk);
    $strKey = uc(md5Hash($strPassword)) + $strRndk + "Y(02.>'H}t\":E1" + md5Hash($strKey);
    return $strKey;
}

sub md5Hash 
{
    my ($strPassword);
    $strMd5 = md5_hex($strPassword);
    return substr($strMd5, 16, 16) + substr($strMd5, 0, 16);
}

makeKey('test', '1A2B3C');

Use Digest :: MDd5需要以分号结尾。

关于您的第三个(也是最后一个?)问题:

“第14行调用了未定义的子例程&main :: md5_hex”

Digest::MD5默认不导出md5_hex (或其他任何东西),您必须明确告诉它应该导出md5_hex

use Digest::MD5 qw(md5_hex);

或使用完整的Digest::MD5::md5_hex名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM