Вы упоминаете хеширование и хэши, но ни один из них не задействован.
IDENT => ...
совпадает с
'IDENT', ...
[ ... ]
в основном эквивалентно
do { my @anon = ( ... ); \@anon }
кроме как без новой области видимости.
XMLin(
$inFile,
MyArray => [
'id1', 'id2',"id3", 'id4'
]
);
эквивалентно
my @anon = ( 'id1', 'id2', 'id3', 'id4' );
XMLin($inFile, 'MyArray', \@anon);
Это неправильный вызов XMLin
. Если присутствует, вторым аргументом должно быть имя одной из опций (например, ForceArray
.)