for my $datastore (@{ $var->{'config.datastoreUrl'} }){ print $datastore->{name}, " ", $datastore->{url},"\n"; } #### # Assumes you have a $vm object. my $datastores = Vim::get_views(mo_ref_array => $vm->{'datastore'}, properties => ['name','url']); foreach (@$datastores) { print " " . $_->{'name'} . "\n"; }