什么是最好的方式来告诉你的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”.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |