NAME
   lib::with::preamble - invent your own default perl setup

SYNOPSIS
     use lib::with::preamble 'use v5.16; use strictures 1;', 'lib';

   The above will load .pm files from lib/ - but they'll act as if your
   code always started with 'use v5.16; use strictures 1;'.

USING THIS IN A DISTRIBUTION
   To use this in a dist, you'll want to create two files -

     # my/lib.pm
     use lib::with::preamble 'use v5.16; use strictures 1;', 'lib';
     1;

     # my/filter
     print "use v5.16;\nuse strictures 1;\n#line 1\n";
     while (<STDIN>) { print }

   and then tell your Makefile.PL to use the filter -

     WriteMakefile(
       ...
       PM_FILTER => 'perl my/filter'
     );

   Then during development instead of doing

     $ perl -Ilib bin/script-to-test

   you'll want to do -

     $ perl -Mmy::lib bin/script-to-test

   and for prove -

     $ PERL5OPT=-Mmy::lib prove t/some-test.t

   but once you run

     $ make

   your blib/ will get populated with files that already have your preamble
   added, so

     $ prove -b t/some-test.t

   will just work, as will

     $ make test

   and when your users install your module, the .pm files will already have
   the preamble at the top, so your installed files will look like

     # My/Foo.pm
     use v5.16;
     use strictures 1;
     # line 1
     package My::Foo;
     ...

   and everything should work, without you even needing to add this module
   as a dependency.

   Patches to document an equivalent for those of you using Dist::Zilla
   (and Module::Build, even if I don't like the bedamned thing) would be
   very welcome.

WARNING
   This is as much a proof of concept as anything else at this point, so
   the interface is NOT guaranteed to be stable. Especially since this is
   meant to be a sort of implicit sugar, and history has proven that other
   people are much better at designing APIs to sugar than I am.

   But provided you're using it the way I describe above, the my/filter
   script isn't dependent on anything, so your users will be insulated from
   that.

   So please do have a play around and see if it works for you.

AUTHOR
   mst - Matt S. Trout (cpan:MSTROUT) <[email protected]>

CONTRIBUTORS
   None yet. Well volunteered? :)

COPYRIGHT
   Copyright (c) 2013 the lib::with::preamble "AUTHOR" and "CONTRIBUTORS"
   as listed above.

LICENSE
   This library is free software and may be distributed under the same
   terms as perl itself.