Added documentation about pack command
[p5sagit/App-FatPacker.git] / bin / fatpack
index 536073c..c6d7235 100755 (executable)
@@ -8,9 +8,19 @@ fatpack - Command line frontend for App::FatPacker
 
 =head1 COMMANDS
 
+=head2 pack
+
+  $ fatpack pack myscript.pl > myscript.packed.pl
+
+A shortcut to do all the work of tracing, collecting packlists,
+extracting modules in fatlib, then concatinating into a packed script
+- in one shot. If you need more detailed controls for additional
+modules, use the following commands separately (see L</RECIPES>).
+
 =head2 trace
 
-  $ fatpack trace [--to=trace-file|--to-stderr] myscript.pl
+  $ fatpack trace [--to=trace-file|--to-stderr] [--use=MODULE]
+      myscript.pl
 
 Compiles myscript.pl (as in "perl -c") and writes out a trace file containing
 every module require()d during the compilation.
@@ -22,6 +32,9 @@ If you pass --to-stderr fatpack writes the trace to STDERR instead.
 
 You cannot pass both --to and --to-stderr.
 
+If the --use option specifies a module (or modules, if used multiple
+times) those modules will be additionally included in the trace output.
+
 =head2 packlists-for
 
   $ fatpack packlists-for Module1 Module2 Module3
@@ -61,7 +74,10 @@ Current basic recipe for packing:
   $ fatpack trace myscript.pl
   $ fatpack packlists-for `cat fatpacker.trace` >packlists
   $ fatpack tree `cat packlists`
-  $ (fatpack file; cat myscript.pl) >myscript.packed.pl
+  $ (head -n1 myscript.pl |grep '^#!'; fatpack file; cat myscript.pl) >myscript.packed.pl
+
+The C<head -n1 myscript.pl |grep '^#!'> code pulls out the Unix shebang
+line, if there is one, and injects it at the start of the packed script.
 
 =head1 COPYRIGHT, LICENSE, AUTHOR