Perl单线程Authen :: Passphrase :: MySQL323

时间:2016-05-12 08:12:14

标签: perl command-line

我有一个很好的表现单线

cat "$1" | perl -MDigest::SHA1=sha1_hex -lpe '$_ = sha1_hex $_'

我想使用不同的模块来创建mysql323哈希。

cat "$1" | perl -MAuthen::Passphrase::MySQL323=hash -lpe '$_ = hash $_'
然而,我对perl one-liners的理解非常有限...... 有谁可以帮助我?

1 个答案:

答案 0 :(得分:0)

Authen::Passphrase::MySQL323未提供功能界面。您需要创建一个对象并调用方法。

这是文档中的概要的一部分。我建议您阅读它们以确定您需要哪种方法,以及如何为您的目的初始化它。

$ppr = Authen::Passphrase::MySQL323->new(
    hash_hex => "2af8a0a82c8f9086"); 
$hash = $ppr->hash;

一般情况下,在你的单行中看起来会像这样,不幸的是它变得有点长了。

cat "$1" | perl -MAuthen::Passphrase::MySQL323 -lpe '$_ = Authen::Passphrase::MySQL323->new(hash_hex => $_)->hash'

将参数更改为new以及根据需要调用的方法。