in reply to Re^2: Skip return values
in thread Skip return values

You are passing @ARGV to sample. Thats why the syntax &subroutine is bad TM. Its not just cosmetically ugly.

print+qq(\L@{[ref\&@]}@{['@'x7^'!#2/"!4']});