perl - 从 perl 哈希结构中获取数据?

标签 perl hash perl-data-structures

我正在尝试修改现有的 perl 脚本以支持地理编码。 找到了这个模块:http://metacpan.org/pod/Geo::Coder::Google

我只是不知道如何从它返回的哈希结构中提取数据(我不是 perl 编码员,这只是我必须修复的一些遗留脚本)。

       {
        'AddressDetails' => {
          'Country' => {
            'AdministrativeArea' => {
              'SubAdministrativeArea' => {
                'SubAdministrativeAreaName' => 'San Francisco',
                'Locality' => {
                  'PostalCode' => {
                    'PostalCodeNumber' => '94107'
                  },
                  'LocalityName' => 'San Francisco',
                  'Thoroughfare' => {
                    'ThoroughfareName' => '548 4th St'
                  }
                }
              },
              'AdministrativeAreaName' => 'CA'
            },
            'CountryNameCode' => 'US'
          }
        },
        'address' => '548 4th St, San Francisco, CA 94107, USA',
        'Point' => {
          'coordinates' => [
            '-122.397323',
            '37.778993',
            0
          ]
        }
      }

已经尝试了我在谷歌上找到的所有哈希教程,我能打印的最多的是 HASH(0x91e5558) 之类的东西。到目前为止,我的代码是模块显示的示例:

use Geo::Coder::Google;
my $geocoder = Geo::Coder::Google->new(apikey => 'Your API Key');
my $location = $geocoder->geocode( location => 'Hollywood and Highland, Los Angeles, CA'); 

我只想要 Point -> 坐标数据到它自己的变量,然后我可以将其写入数据库。

最佳答案

这是你想要的吗?

$lon = $location->{Point}{coordinates}[0];
$lat = $location->{Point}{coordinates}[1];

关于perl - 从 perl 哈希结构中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7442595/

相关文章:

perl - 将 perl 脚本的所有输出复制到文件中

XML::Hash::LX - 将哈希转换为 xml:不是预期的输出

c# - 在 asp.net 中使用散列密码创建登录名

perl - 动态函数注入(inject)到 Text::Template 命名空间

perl - Perl 管道中的可编程参数

javascript - 你能识别这个用 javascript 编写的哈希函数吗?

arrays - Perl:计算复杂数据结构中的元素

perl - 如何在 Perl 中遍历哈希(哈希)?

perl - 如何在 Perl 对象中存储文件句柄以及如何访问结果?

python - 使用 subprocess python 库使用 7zip 解压缩文件