加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

什么是最好的方式来告诉你的perl的运行在?

发布时间:2020-12-15 21:13:07 所属栏目:大数据 来源:网络整理
导读:问题不是如何在一个oneliner告诉.如果你在一行中编写代码,你知道你是.但是,-MMy :: Module :: Name中包含的模块是如何知道它都是从oneliner开始的. 这是我的.它不是便携式的,而是依赖于UNIX标准命令(尽管它可以随便携带或多或少). my $process_info = `ps $$
问题不是如何在一个oneliner告诉.如果你在一行中编写代码,你知道你是.但是,-MMy :: Module :: Name中包含的模块是如何知道它都是从oneliner开始的.

这是我的.它不是便携式的,而是依赖于UNIX标准命令(尽管它可以随便携带或多或少).

my $process_info = `ps $$| tail -1`;
my $is_oneliner  
    = $process_info =~ m/perl.*?s+-[^P{IsLower}e]*e[^P{IsLower}e]*s+/m
    ;

如果你有一个snazzier正则表达式,可以随意改进我的.

有几个人问我为什么要这样做. brian正确地猜测,我想根据是否是脚本来改变导出行为,我们可以假设它有一些设计,或者是一个用户在单个命令行中尝试尽可能多的oneliner.

这听起来很糟糕,因为出口商应该尊重其他软件包 – 有时被称为“@EXPORT is EVIL!”这样的信条.但是在我看来,在应用于线人的时候,这是一种愚蠢的一致性.毕竟perl本身就是出于违反其语言结构的方式,如果您在命令行中要求它们,就可以轻松地循环,我只想将这个想法扩展到我的操作/业务领域.我甚至想要应用源过滤器(喘气!),如果它有帮助.

但是这个问题也表明,我可能想成为一个很好的Perl公民,因为我只是在某些情况下打破社区准则.通过更改批处理调度程序中的命令行,而不是编写一个全新的模块,能够创建主要的业务级别操作是非常棒的.测试周期压缩很大.

解决方法

如果从-e运行,$0设置为“-e”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读