你有好的 Perl 模板脚本吗?
我用 Perl 进行了大量编程,想知道人们是否有一个他们使用并愿意共享的“默认”模板 Perl 脚本。
我开始复制一个具有 Getopt 函数的旧脚本。我想人们也会做类似的事情吗?
I do a lot of programming in Perl and was wondering if people had a "default" template Perl script that they use and willing to share.
I started copying one of my older scripts which has Getopt
functions. I am thinking people would have done something similar?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(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.)