% pp -I /foo hello # Extra include paths
####
$ unzip -dworks start
Archive: start
creating: works/lib/
creating: works/script/
inflating: works/MANIFEST
inflating: works/META.yml
inflating: works/lib/Carp.pm
inflating: works/lib/Config.pm
inflating: works/lib/Config_git.pl
inflating: works/lib/Config_heavy.pl
inflating: works/lib/DynaLoader.pm
inflating: works/lib/Exporter.pm
inflating: works/lib/Exporter/Heavy.pm
inflating: works/lib/File/Glob.pm
inflating: works/lib/List/Util.pm
inflating: works/lib/Scalar/Util.pm
inflating: works/lib/Time/HiRes.pm
inflating: works/lib/XSLoader.pm
extracting: works/lib/auto/File/Glob/Glob.bs
inflating: works/lib/auto/File/Glob/Glob.dll
extracting: works/lib/auto/List/Util/Util.bs
inflating: works/lib/auto/List/Util/Util.dll
extracting: works/lib/auto/Time/HiRes/HiRes.bs
inflating: works/lib/auto/Time/HiRes/HiRes.dll
extracting: works/lib/auto/mro/mro.bs
inflating: works/lib/auto/mro/mro.dll
extracting: works/lib/auto/threads/threads.bs
inflating: works/lib/auto/threads/threads.dll
inflating: works/lib/feature.pm
inflating: works/lib/moduleA.pm ######
inflating: works/lib/moduleB.pm ######
inflating: works/lib/mro.pm
inflating: works/lib/overload.pm
inflating: works/lib/overload/numbers.pm
inflating: works/lib/overloading.pm
inflating: works/lib/strict.pm
inflating: works/lib/threads.pm
inflating: works/lib/vars.pm
inflating: works/lib/warnings.pm
inflating: works/lib/warnings/register.pm
inflating: works/script/ModuleB.pm ######
inflating: works/script/main.pl
inflating: works/script/start.pl
####
$ pp -x start.pl -o start
$ unzip -dworksalot start
Archive: start
creating: worksalot/lib/
creating: worksalot/script/
inflating: worksalot/MANIFEST
inflating: worksalot/META.yml
inflating: worksalot/lib/Benchmark.pm
inflating: worksalot/lib/Carp.pm
inflating: worksalot/lib/Config.pm
inflating: worksalot/lib/Config_git.pl
inflating: worksalot/lib/Config_heavy.pl
inflating: worksalot/lib/Data/Dump.pm
inflating: worksalot/lib/DynaLoader.pm
inflating: worksalot/lib/Exporter.pm
inflating: worksalot/lib/Exporter/Heavy.pm
inflating: worksalot/lib/File/Glob.pm
inflating: worksalot/lib/List/Util.pm
inflating: worksalot/lib/Scalar/Util.pm
inflating: worksalot/lib/Time/HiRes.pm
inflating: worksalot/lib/XSLoader.pm
extracting: worksalot/lib/auto/File/Glob/Glob.bs
inflating: worksalot/lib/auto/File/Glob/Glob.dll
extracting: worksalot/lib/auto/List/Util/Util.bs
inflating: worksalot/lib/auto/List/Util/Util.dll
extracting: worksalot/lib/auto/Time/HiRes/HiRes.bs
inflating: worksalot/lib/auto/Time/HiRes/HiRes.dll
extracting: worksalot/lib/auto/mro/mro.bs
inflating: worksalot/lib/auto/mro/mro.dll
extracting: worksalot/lib/auto/threads/threads.bs
inflating: worksalot/lib/auto/threads/threads.dll
inflating: worksalot/lib/feature.pm
inflating: worksalot/lib/moduleA.pm
inflating: worksalot/lib/moduleB.pm
inflating: worksalot/lib/mro.pm
inflating: worksalot/lib/overload.pm
inflating: worksalot/lib/overload/numbers.pm
inflating: worksalot/lib/overloading.pm
inflating: worksalot/lib/sitecustomize.pl
inflating: worksalot/lib/strict.pm
inflating: worksalot/lib/subs.pm
inflating: worksalot/lib/threads.pm
inflating: worksalot/lib/vars.pm
inflating: worksalot/lib/warnings.pm
inflating: worksalot/lib/warnings/register.pm
inflating: worksalot/script/main.pl
inflating: worksalot/script/start.pl
####
$ pp -I . -x start.pl -o start
####
diff -ruN empty/2 parppworks/2
--- empty/2 1969-12-31 16:00:00.000000000 -0800
+++ parppworks/2 2014-06-20 01:18:17.953125000 -0700
@@ -0,0 +1,40 @@
+diff -ruN empty/moduleA.pm ./moduleA.pm
+--- empty/moduleA.pm 1969-12-31 16:00:00.000000000 -0800
++++ ./moduleA.pm 2014-06-20 01:11:36.671875000 -0700
+@@ -0,0 +1,2 @@
++sub moduleA::functionA { print "moduleA::functionA\n" }
++1;
+\ No newline at end of file
+diff -ruN empty/moduleB.pm ./moduleB.pm
+--- empty/moduleB.pm 1969-12-31 16:00:00.000000000 -0800
++++ ./moduleB.pm 2014-06-20 01:11:45.343750000 -0700
+@@ -0,0 +1,3 @@
++sub moduleB::functionA { print "moduleB::functionA\n" }
++sub moduleB::functionB { print "moduleB::functionB\n" }
++1;
+\ No newline at end of file
+diff -ruN empty/start.pl ./start.pl
+--- empty/start.pl 1969-12-31 16:00:00.000000000 -0800
++++ ./start.pl 2014-06-20 01:15:31.671875000 -0700
+@@ -0,0 +1,21 @@
++#!/usr/bin/perl
++
++use strict;
++use warnings;
++use Time::HiRes qw(usleep);
++
++
++require moduleA;
++require moduleB;
++
++
++&moduleA::functionA();
++
++&moduleB::functionA();
++
++&moduleB::functionB();
++
++__END__
++pp start.pl -I ModuleA.pm ModuleB.pm -o start
++pp -I. -x start.pl -o start
++
diff -ruN empty/moduleA.pm parppworks/moduleA.pm
--- empty/moduleA.pm 1969-12-31 16:00:00.000000000 -0800
+++ parppworks/moduleA.pm 2014-06-20 01:18:47.859375000 -0700
@@ -0,0 +1,2 @@
+sub moduleA::functionA { print "moduleA::functionA\n" }
+1;
diff -ruN empty/moduleB.pm parppworks/moduleB.pm
--- empty/moduleB.pm 1969-12-31 16:00:00.000000000 -0800
+++ parppworks/moduleB.pm 2014-06-20 01:18:49.218750000 -0700
@@ -0,0 +1,3 @@
+sub moduleB::functionA { print "moduleB::functionA\n" }
+sub moduleB::functionB { print "moduleB::functionB\n" }
+1;
diff -ruN empty/start.pl parppworks/start.pl
--- empty/start.pl 1969-12-31 16:00:00.000000000 -0800
+++ parppworks/start.pl 2014-06-20 01:15:31.671875000 -0700
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use Time::HiRes qw(usleep);
+
+
+require moduleA;
+require moduleB;
+
+
+&moduleA::functionA();
+
+&moduleB::functionA();
+
+&moduleB::functionB();
+
+__END__
+pp start.pl -I ModuleA.pm ModuleB.pm -o start
+pp -I. -x start.pl -o start
+