你有好的 Perl 模板脚本吗?
我用 Perl 进行了大量编程,想知道人们是否有一个他们使用并愿意共享的“默认”模板 Perl 脚本。
我开始复制一个具有 Getopt 函数的旧脚本。我想人们也会做类似的事情吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我用 Perl 进行了大量编程,想知道人们是否有一个他们使用并愿意共享的“默认”模板 Perl 脚本。
我开始复制一个具有 Getopt 函数的旧脚本。我想人们也会做类似的事情吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
在我的 .vimrc 文件中,我可以
写入
任何新的 Perl 脚本。我也有
模块,但我倾向于使用
Module无论如何,::Starter
。In my
.vimrc
file I havewhich writes
to any new Perl script. I also have
for modules, but I tend to use
Module::Starter
for those anyway.当我需要许多类似脚本的基本模板时,我只需将类似的部分变成一个模块即可。然后,脚本简化为如下内容:
App::Foo
将从模板模块继承并覆盖任何不同的内容:在
App::Template
模块中,您输入无论你需要什么:CPAN 上有一些针对此类事情的框架,但我认为自己做同样容易,并且无需处理不需要的部分即可获得所需的内容。
When I need a basic template for many similar scripts, I just turn the similar parts into a module. The script then reduces to something like:
The
App::Foo
would inherit from the template module and override whatever was different:In the
App::Template
module, you put in whatever you need:There are some frameworks on CPAN for this sort of thing, but I think it's just as easy to do it yourself and get exactly what you need without dealing with the parts you don't need.
正如人们在我将方法模板放入模块之前所说的那样:
use PMG::PMGBase;
对于初始脚本转义,作为 emacs 用户,我有我的 perl-insert-start 和 perl-add -getoption 模板,但是写这样的东西:有点烦人。所以最后对我来说更容易拥有一个 Perl 模板脚本(见下文),并使用 run-command-on-region 调用它: Cu M-|在空白缓冲区中选择一个空格后,从 Emacs 中输入:~/scripts/perl-start-template.pl:
As people say before I have my methods templates in a module:
use PMG::PMGBase;
and for the initial script escafolding, as an emacs user, I have my perl-insert-start and perl-add-getoption templates, but writing things like:is a bit tiresome. So at the end is easier for me to have a Perl template script (see below), and call it with run-command-on-region:
C-u M-| :~/scripts/perl-start-template.pl
from Emacs after selecting one space in a blank buffer:我的很简单。
当涉及到像 getopt 这样的事情时,我编写的脚本之间没有足够的共同点,因此值得拥有更详细的模板。
Mine is pretty simple.
When it comes to things like getopt, there aren't enough commonalities among the scripts I write to make it worth while having a more verbose template.
我有两个。一个旧的只不过是 perl 单行的包装器,而第二个则具有更多我经常发现有用的功能和示例:
我使用上面的进行快速测试,但更经常使用以下,(当我'我不会破解整个模块。)
__END__ 通常仅在我们要在代码后添加 POD 时使用
如果您将“完成”移到 POD 上方,那么 __END__ 对我来说更有意义。
您可以随意破解这两个。我在这里并没有声称自己有良好的风格或实践,(有时我会从较短的代码开始,然后粘贴较长的代码块,因为我需要它们最终得到两种代码风格的巨魔。)
I have two. An old one which is little more than a wrapper to a perl one-liner and a second that has more functions and examples that I often find useful:
I use the above for quick test but more often I use the following, (when I'm not hacking a full module.)
__END__ is usually only used if we are going to have POD after the code
If you move the "Done that" above the POD then __END__ makes more sense to me.
Feel free to hack these two about as much as you like. I make no claims to good style or practices here, (and I sometimes start with the short one and paste in blocks from the longer one as I need them ending up with two code styles for the trolols.)