in reply to perl-json format

If @my_A were to contain references to three hashes, then the latter output would be expected.

Since you don't show even a hint at how @my_A is being populated, by far the simplest explanation is that @my_A does not contain references to three hashes but contains a single string and that this string contains how JSON would represent an array containing references to three hashes.

- tye