in reply to Sad newbie question about Data::Dumper and array references..

The problem is that you are confusing a reference to an array with the array itself. Your $data variable is a scalar (not an array) whose value is a reference to an array. You need to use indirection to get at the elements of the array. These are all equivalent:
$$data[0] ${$data}[0] $data->[0]
Personally, I prefer the third form but if you're trying to create obfuscated code use the first form.