This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Mark grok_bslash functions as intfce changeable
[perl5.git] / x2p / a2p.pod
index f6395a4..d32a9c7 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:
 
@@ -47,12 +47,12 @@ tells a2p to use old awk behavior.  The only current differences are:
 
 =over 5
 
-=item
+=item *
 
 Old awk always has a line loop, even if there are no line
 actions, whereas new awk does not.
 
-=item
+=item *
 
 In old awk, sprintf is extremely greedy about its arguments.
 For example, given the statement
@@ -64,6 +64,8 @@ considers them arguments to C<print>.
 
 =back
 
+=back
+
 =head2 "Considerations"
 
 A2p cannot do as good a job translating as a human would, but it
@@ -120,9 +122,9 @@ implicit in the awk script.  There are times when you can move this
 down past some conditionals that test the entire record so that the
 split is not done as often.
 
-For aesthetic reasons you may wish to change the array base $[ from 1
-back to perl's default of 0, but remember to change all array
-subscripts AND all substr() and index() operations to match.
+For aesthetic reasons you may wish to change index variables from being
+1-based (awk style) to 0-based (Perl style).  Be sure to change all
+operations the variable is involved in to match.
 
 Cute comments that say "# Here is a workaround because awk is dumb"
 are passed through unmodified.
@@ -146,7 +148,7 @@ statement that is the last statement executed in a subroutine.  A2p
 catches the most common case, but doesn't analyze embedded blocks for
 subtler cases.
 
-ARGV[0] translates to $ARGV0, but ARGV[n] translates to $ARGV[$n].  A
+ARGV[0] translates to $ARGV0, but ARGV[n] translates to $ARGV[$n-1].  A
 loop that tries to iterate over ARGV[0] won't find it.
 
 =head1 ENVIRONMENT