Hi. While we're on the subject of read, I've been sitting on these for a 
while.

The first possible issue involves $'\n' as a field separator. This works in 
Bash/zsh/mksh for mapping lines to separate members of an array, just not 
ksh93:

 $ ( printf %s\\n {a..f} | IFS=$'\n' read -rd '' -A a; typeset -p a )
typeset -a a=($'a\nb\nc\nd\ne\nf\n')

The second issue occurs when combining read -N with an assignment directly to 
an array. Seems easy to reproduce:

 $ ksh -c 'integer n=0; printf xxx | while read -rN1 "a[n++]"; do :; done'
Memory fault

Lastly, a tangentially related question about the FILESCAN feature. Is it 
intentional for "$@" to expand to a single word in this context?

 $ ( while <<<$'a b c\nd e f\ng h i'; do printf '<%s> ' "$@"; echo; done )
<a b c>
<d e f>
<g h i>

Thanks!
-- 
Dan Douglas
_______________________________________________
ast-users mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-users

Reply via email to