in reply to Dereference an array reference

If $self->things is an array ref, you just need to change your loop:
foreach (@{$self->things}){...}
The @{} will dereference your things array and make $_ be each item. So, if $self->things is an array of names, you will replace XXXXX with $_.

Does this address the problem?

Brainbench 'Most Valuable Professional' for Perl