Perl array manipulation : I have a huge array with a bunch of subarrays and values, and I need to simply extract just the emails for each subarray. The entire array is a collection of entities in our database and the subarrays themselves represent contacts within each entity and all of their contact values. Here is an example of what the beginning of the array looks like: 

    $VAR1 = [
          {
            'total' => '2',
            'results' => [
                           {
                             'contact_type_name' => 'Primary Technical Contact',
                             'street' => undef,
                             'state_id' => undef,
                             'state_name' => undef,
                             'last_name' => 'Barb',
                             'entities' => [
                                             {
                                               'entity_name' => 'XXXXX',
                                               'entity_id' => 'XXXXX'
                                             }
                                           ],
                             'state_abbr_name' => undef,
                             'city' => undef,
                             'country_id' => undef,
                             'latitude' => undef,
                             'contact_id' => 'XXXXXX',
                             'contact_type_id' => '1',
                             'roles' => [],
                             'contact_methods' => [
                                                    {
                                                      'entity_name' => undef,
                                                      'contact_method_value' => 'XXXXXXX',
                                                      'contact_method_type_id' => '4',
                                                      'contact_method_id' => '24041',
                                                      'entity_id' => undef,
                                                      'contact_method_type_name' => 'Cell Phone'
                                                    },
                                                    {
                                                      'entity_name' => undef,
                                                      'contact_method_value' => 'XXXXXX',
                                                      'contact_method_type_id' => '2',
                                                      'contact_method_id' => '24051',
                                                      'entity_id' => undef,
                                                      'contact_method_type_name' => 'Office Phone'
                                                    },
                                                    {
                                                      'entity_name' => undef,
                                                      'contact_method_value' => 'EMAIL',
                                                      'contact_method_type_id' => '1',
                                                      'contact_method_id' => '24061',
                                                      'entity_id' => undef,
                                                      'contact_method_type_name' => 'Email'
                                                    }
                                                  ],
                             'country_name' => undef,
                             'longitude' => undef,
                             'country_abbr_name' => undef,
                             'full_name' => 'NAME',
                             'networks' => [
                                             {
                                               'network_name' => 'NET',
                                               'network_id' => 'X'
                                             }
                                           ],
                             'timezone_id' => undef,
                             'zip' => undef,
                             'timezone_name' => undef,
                             'title' => 'MAC/Network Specialist',
                             'first_name' => 'Terri'
                           },
                           {
                             'contact_type_name' => 'Primary Technical Contact',
                             'street' => 'STREET',
                             'state_id' => undef,
                             'state_name' => undef,
                             'last_name' => 'NAME',
                             'entities' => [
                                             {
                                               'entity_name' => 'NAME',
                                               'entity_id' => '2679'
                                             }
                                           ],
                             'state_abbr_name' => undef,
                             'city' => 'CITY',
                             'country_id' => undef,
                             'latitude' => undef,
                             'contact_id' => '7896',
                             'contact_type_id' => '1',
                             'roles' => [],
                             'contact_methods' => [
                                                    {
                                                      'entity_name' => undef,
                                                      'contact_method_value' => 'EMAIL',
                                                      'contact_method_type_id' => '1',
                                                      'contact_method_id' => '16796',
                                                      'entity_id' => undef,
                                                      'contact_method_type_name' => 'Email'
                                                    },
                                                    {
                                                      'entity_name' => undef,
                                                      'contact_method_value' => 'number',
                                                      'contact_method_type_id' => '2',
                                                      'contact_method_id' => '16797',
                                                      'entity_id' => undef,
                                                      'contact_method_type_name' => 'Office Phone'
                                                    }
                                                  ],
                             'country_name' => undef,
                             'longitude' => undef,
                             'country_abbr_name' => undef,
                             'full_name' => 'NAME',
                             'networks' => [
                                             {
                                               'network_name' => 'net',
                                               'network_id' => '17'
                                             }
                                           ],
                             'timezone_id' => undef,
                             'zip' => 'zip',
                             'timezone_name' => undef,
                             'title' => 'Infrastructure Manager',
                             'first_name' => 'name'
                           }
                         ],
            'offset' => '0'
          },
          {
            'total' => '2',
            'results' => [ NEXT SET..........

I need to figure out an efficient way to extract just the emails from this messy set of data. Thank you for any help.
