Hello dear colleagues,
Can someone tell me why this script doesn't work?
#!/usr/bin/env perl
use Mojo::UserAgent;
use feature 'say';
use utf8;
my $ua = Mojo::UserAgent->new;
say $ua->get('http://geocode-maps.yandex.ru/1.x/?geocode=Moscow&format=json'
)->res->json->{response}->{GeoObjectCollection}->{featureMember}->[0]->{
GeoObject}->{metaDataProperty}->{GeocoderMetaData}->{AddressDetails}->{
Country}->{CountryName};
When I run script I got such error:
pavel@U310T:~/projects/test_scripts$ ./test_geocode.pl
> Can't use an undefined value as a HASH reference at ./test_geocode.pl line
> 8.
>
And seems like problem isn't in JSON structure or wrong Yandex API string.
When I modified script to:
#!/usr/bin/env perl
use Mojo::UserAgent;
use Data::Dumper;
use utf8;
my $ua = Mojo::UserAgent->new;
warn Dumper $ua->get(
'https://geocode-maps.yandex.ru/1.x/?geocode=Moscow&format=json')->res->json
;
I got:
pavel@U310T:~/projects/test_scripts$ ./test_geocode.pl
> $VAR1 = undef;
>
And as you can make sure API is working -
https://geocode-maps.yandex.ru/1.x/?geocode=Moscow&format=json
My Mojo version is latest
sudo cpan -D Mojolicious
> Loading internal null logger. Install Log::Log4perl for logging messages
> Reading '/home/pavel/.cpan/Metadata'
> Database was generated on Sat, 27 Jun 2015 04:41:02 GMT
> Mojolicious
> -------------------------------------------------------------------------
> (no description)
> D/DB/DBOOK/Mojolicious-6.12.tar.gz
> /usr/local/share/perl/5.18.2/Mojolicious.pm
> Installed: 6.12
> CPAN: 6.12 up to date
> Sebastian Riedel (SRI)
> [email protected]
>
I'm quite confused, cause recently this script worked... I didn't anything
except updating Mojolicious to latest version.
Any ideas?
--
You received this message because you are subscribed to the Google Groups
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.