I find this as buggy.. or I've missunderstood something:
kaos@jenna daemon $ pike -e 'array a = ({ ({ "foo", "bar" }) }); write( "1: %O\n2: %{%O\n%}\n3:%{%O\n%}\n", a, a, a[0] );' 1: ({ /* 1 element */ ({ /* 2 elements */ "foo", "bar" }) }) 2: "foo"
3:"foo" "bar"
That is: why only "foo" in case 2 above? I expected to see ({ /* 2 elements */ .... })
//K