in reply to Array interpolation in a string

use strict might do the trick...

perldiag says that the warning means (specifically): "You said something like `@foo' in a double-quoted string but there was no array @foo in scope at the time. If you wanted a literal @foo, then write it as \@foo; otherwise find out what happened to the array you apparently lost track of."

That tells me that you hadn't previously declared or populated that array.

-Paul