in reply to Can't modify private array in concatenation?

Concatenation is an operator on scalar strings. You want a push:

push @list, bsd_glob ("$DIR/*XYZ", GLOB_QUOTE );