in reply to Problem with passing hashes between modules

You are returning a reference to an array whose content is a single hash reference. You then attempt to dereference the array as a hash. You probably mean something like this

sub passMe { my %data = ( # note not '{' ... ); return \%data, $ID; }

If you aren't getting what you expect then using Data::Dumper or YAML to print out the data structure will often help you find where the problem lies.