title: Perl: array de-reference
body: <p>I'm trying to figure out how to de-reference a value in an array but have hit a dead end, I've attempted to research the issue but need some help.</p>
  
  <p>I'm grabbing some data from an infoblox database and trying to search within the results to find the mac address of a host entry, the data exists in the array as a hash generate by the following code:</p>
  
  <pre><code>use strict;
  use Data::Dumper;
  my @results = $session-&gt;get(
     object  =&gt; "Infoblox::DNS::Host",
     name    =&gt; "test.com.au",
     ipv4addrs   =&gt; ".*.",
     view    =&gt; "external"
  );
  </code></pre>
  
  <p>I'm de-referencing  at a high level of the data structure using '$_->ipv4addrs' then looping over the output using the following code:</p>
  
  <pre><code>foreach (@results) {
      my @search = $_-&gt;ipv4addrs;        
           foreach (@search) {
               print Dumper($_) . "\n";
      }
  }
  </code></pre>
  
  <p>which prints the following output using Data::Dumper:</p>
  
  <pre><code>$VAR1 = [
        bless( {
                 'network' =&gt; '111.111.111.0/25',
                 'options' =&gt; [],
                 'dynamic' =&gt; 'false',
                 '__version' =&gt; '4.2r5-5-68691',
                 'VIEW_FUNCTION' =&gt; {
                                      'remove' =&gt; '.com.infoblox.perl_api.Infoblox.DHCP.remove_fixed_address',
                                      'search' =&gt; '.com.infoblox.perl_api.Infoblox.DHCP.search_fixed_address',
                                      'add' =&gt; '.com.infoblox.perl_api.Infoblox.DHCP.insert_fixed_address',
                                      'add_using_template' =&gt; '.com.infoblox.perl_api.Infoblox.DHCP.insert_fixed_address_using_template',
                                      'get' =&gt; '.com.infoblox.perl_api.Infoblox.DHCP.get_fixed_address',
                                      'modify' =&gt; '.com.infoblox.perl_api.Infoblox.DHCP.modify_fixed_address'
                                    },
                 'ipv4addr' =&gt; '111.111.111.111',
                 'match_client' =&gt; 'MAC',
                 'mac' =&gt; '00:11:00:11:00:11',
                 'disable' =&gt; 'false',
                 '__type' =&gt; '.com.infoblox.perl_api.Infoblox.DHCP.FixedAddr'
               }, 'Infoblox::DHCP::FixedAddr' )
      ];
  </code></pre>
  
  <p>But if I try and call a reference using '$_->mac' within the 'foreach (@searh)' loop, I get an error:</p>
  
  <pre><code> "Can't call method "mac" on unblessed reference at ./connect_test.pl line nn."
  </code></pre>
  
  <p>My coding skills fail at this point, any info or direction would be much appreciated.</p>