gpt4 book ai didi

perl - 如何将 Perl 的单行代码转换为完整的脚本?

转载 作者:行者123 更新时间:2023-12-02 01:04:29 30 4
gpt4 key购买 nike

我在网上找到了很多 Perl 的俏皮话。有时我想将这些单行代码转换成脚本,否则我会忘记单行代码的语法。

例如,我使用以下命令(来自 nagios.com ):

tail -f /var/log/nagios/nagios.log | perl -pe 's/(\d+)/localtime($1)/e'

我想用这样的东西替换它:

tail -f /var/log/nagios/nagios.log | ~/bin/nagiostime.pl

但是,我无法找出快速将这些东西放入脚本中的最佳方法。有谁能快速将这些俏皮话放入 Bash 或 Perl 脚本中吗?

最佳答案

您可以通过将任何 Perl 单行代码传递给生成 Perl 源代码的 B::Deparse 编译器后端,将其转换为完整脚本:

perl -MO=Deparse -pe 's/(\d+)/localtime($1)/e'

输出:

LINE: while (defined($_ = <ARGV>)) {
s/(\d+)/localtime($1);/e;
}
continue {
print $_;
}

与手动解码命令行标志相比,这种方法的优点在于,这正是 Perl 解释脚本的方式,因此无需猜测。 B::Deparse 是核心模块,因此无需安装任何内容。

关于perl - 如何将 Perl 的单行代码转换为完整的脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2822525/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com