Hi autoconf maintainers, the sections "Limitations of Shell Builtins" and "[Limitations of Usual Tools" of the Autoconf manual have the status as a reference for portable shell programming for me.
So how about the following limitation of "awk" related to arrays used in functions: ---- test program ---- function foo( bar ) { for ( x in bar ) print "foobar"; } END { foo(); } ---- test program ---- When executing this as "cat /dev/null | <awk> -f <test program>" I get on the test systems I have access to: ------------------------------ AIX host 2 7 00F7BD2A4C00 nawk awk: must be an array. The source line number is 3. ------------------------------ HP-UX host B.11.31 U 9000/800 531545342 unlimited-user license awk awk: must be an array. The source line number is 3. ------------------------------ HP-UX host B.11.31 U ia64 3184477447 unlimited-user license awk awk: must be an array. The source line number is 3. ------------------------------ SunOS host 5.10 Generic_Virtual sun4v sparc sun4v nawk nawk: (null) is not an array source line number 3 ------------------------------ SunOS host 5.10 Generic_141445-09 i86pc i386 i86pc nawk Segmentation Fault - core dumped ------------------------------ Only the GNU "gawk" on GNU/Linux groks that example. Of course, that use of a local variable as an array may be non-POSIX-ish. Haven't found anything on that. Thanks for maintaining autoconf! Jens