如何从网络 API 获取数据?

How do I get data from a web API?

我的 Perl 很基础,我需要为我的大学做一个项目。

我想从某个 link 下载数据,它是 JSON 数据,所以我知道我必须使用来自 CPAN 的 JSON::Parse 模块。

但是如何将link的内容下载到我的Perl变量中呢?我应该使用 LWP get() 吗?

如果是大学项目,你不应该学习 Perl 吗?

无论如何,您的程序将如下所示。它使用LWP::Simple module to fetch the JSON data, and then JSON::Parse将其处理成Perl数据结构

我已经按照您评论中的要求打印了数组中每个项目的 author

use strict;
use warnings 'all';

use LWP::Simple 'get';
use JSON::Parse 'parse_json';

use constant URL => 'http://a.wykop.pl/observatory/entries/appkey,dJ4w7fXYpL';

my $json = get URL or die "Unable to get JSON data";
my $data = parse_json($json);

print "Authors:\n";
print "  $_->{author}\n" for @$data;

输出

Authors:
  Snurq
  AferaZaAfera
  Devest
  igorsped
  Matt23
  labla
  poprawnie-niepoprawny
  Parkero
  Speed666
  Xune
  Gasior9
  mikolajeq
  Aztek2201
  blogerbezbloga
  Pan_wons
  PanKaczucha
  NieznanyAleAmbitny
  dzika_kaczka_bez_dzioba
  ilili
  Bager
  bmbcz01
  hydrocyfolumpus
  acarter
  Doctor_Manhattan
  strumienzgor