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

后端 未结 2 1787
时光说笑
时光说笑 2020-12-11 17:26

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)?



        
相关标签:
2条回答
  • 2020-12-11 18:03

    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.

    0 讨论(0)
  • 2020-12-11 18:22

    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.]

    0 讨论(0)
提交回复
热议问题