"$x = GetCdRomDrives($cds);" instead of "$x = GetCdRomDrives(\$cds);" #### foreach $TCdRom (@{$cds->{TCdRom}}){ printf("%s \n", $TCdRom->{HaId}; ... ... }