#!/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};
pavel@U310T:~/projects/test_scripts$ ./test_geocode.pl
Can't use an undefined value as a HASH reference at ./test_geocode.pl line 8.
#!/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;
pavel@U310T:~/projects/test_scripts$ ./test_geocode.pl
$VAR1 = undef;
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)
kra...@googlemail.com
Did you got json from another app? Try curl or wget same url, for me your script return json.
--
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 mojolicious...@googlegroups.com.
To post to this group, send email to mojol...@googlegroups.com.
Visit this group at http://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.
Yeah, it's working :)
But warn Dumper ($ua->get('http://geocode-maps.yandex.ru/1.x/?geocode=Москва&format=json')->res->json) doesn't. $VAR1 = undef
So problem is in res->json method?