X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=x2p%2Fa2p.pod;h=0506e2d827c1a5c8254b1a36b3b7e4cceb5893c2;hb=6cb271b22aafa3e578dd67cc48ab658f6d61b7a2;hp=4e61fd6ab94c7d8a2e61f2cf1375cdd56108f79a;hpb=55497cffdd24c959994f9a8ddd56db8ce85e1c5b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/x2p/a2p.pod b/x2p/a2p.pod index 4e61fd6..0506e2d 100644 --- a/x2p/a2p.pod +++ b/x2p/a2p.pod @@ -41,6 +41,29 @@ Any delimiter can be used to separate the field names. causes a2p to assume that input will always have that many fields. +=item B<-o> + +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 to be arguments to C; new awk +considers them arguments to C. + +=back + =back =head2 "Considerations" @@ -82,13 +105,13 @@ block to bypass the block under such circumstances can be simplified by removing the conditional in the END block and just exiting directly from the perl script. -Perl has two kinds of array, numerically-indexed and associative. Awk -arrays are usually translated to associative arrays, but if you happen -to know that the index is always going to be numeric you could change -the {...} to [...]. Iteration over an associative array is done using -the keys() function, but iteration over a numeric array is NOT. You -might need to modify any loop that is iterating over the array in -question. +Perl has two kinds of array, numerically-indexed and associative. +Perl associative arrays are called "hashes". Awk arrays are usually +translated to hashes, but if you happen to know that the index is +always going to be numeric you could change the {...} to [...]. +Iteration over a hash is done using the keys() function, but iteration +over an array is NOT. You might need to modify any loop that iterates +over such an array. Awk starts by assuming OFMT has the value %.6g. Perl starts by assuming its equivalent, $#, to have the value %.20g. You'll want to