Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any way to "auto-use" certain modules everytime I write a script?

Tags:

perl

As the title indicates, is there anyway that I can automatically tell perl to include the following in every perl script that I write (unless noted otherwise)?

use strict;
use warnings;
use feature 'say';

I know it's not a big deal to write three lines, but it would be nice if I could just change some system file or something to make it so I never have to do this again.

Thanks in advance.

like image 742
Steve P. Avatar asked May 12 '13 05:05

Steve P.


2 Answers

If you use perl 5.11.0 of higher, the use strict; is enabled by default. When do you use Moose you get free strict a free warnings too;

You can also define your own module with the all needed features, and all lines are reduced to one line, like:

use Myname::defs;

How to develop a module what includes your needs, is answered here: How to make "use My::defaults" with modern perl & utf8 defaults? . If you don't need utf8 you can short the geniue answer to strict, warnins, and features. You also can check this question and this question too.

For development you can also consider the:

use strictures 1;

Read about it here.

like image 170
jm666 Avatar answered Oct 19 '22 23:10

jm666


Using the use VERSION syntax with a version number greater or equal to 5.11.0 will lexically enable strictures just like use strict would do (in addition to enabling features). The following:

use 5.11.0;

means:

use strict;
use feature ':5.11';

While editors like emacs can be set up to add the 3 lines automatically, you can effectively achieve the same by supplying arguments while invoking perl:

perl -w -M5.11.0 foo.pl

[You can consider adding an alias for perl in your shell startup script.]

like image 43
devnull Avatar answered Oct 19 '22 21:10

devnull