The 2nd arg to save_alloc() must be cast to I32 to avoid pointer truncation warnings...
[p5sagit/p5-mst-13.2.git] / x2p / a2p.pod
index fa726fb..4b66771 100644 (file)
@@ -4,7 +4,7 @@ a2p - Awk to Perl translator
 
 =head1 SYNOPSIS
 
-B<a2p [options] filename>
+B<a2p> [I<options>] [I<filename>]
 
 =head1 DESCRIPTION
 
@@ -12,7 +12,7 @@ I<A2p> takes an awk script specified on the command line (or from
 standard input) and produces a comparable I<perl> script on the
 standard output.
 
-=head2 Options
+=head2 OPTIONS
 
 Options include:
 
@@ -43,10 +43,27 @@ causes a2p to assume that input will always have that many fields.
 
 =item B<-o>
 
-tells a2p to use old awk behavior.  For now, the only difference is
-that old awk always has a line loop, even if there are no line
+tells a2p to use old awk behavior.  The only current differences are:
+
+=over 5
+
+=item *
+
+Old awk always has a line loop, even if there are no line
 actions, whereas new awk does not.
 
+=item *
+
+In old awk, sprintf is extremely greedy about its arguments.
+For example, given the statement
+
+       print sprintf(some_args), extra_args;
+
+old awk considers I<extra_args> to be arguments to C<sprintf>; new awk
+considers them arguments to C<print>.
+
+=back
+
 =back
 
 =head2 "Considerations"