我询问最简单的方法
获取www内容(我认为是curl)
使用树正则表达式(s/a/b/;
和s / as / da'等)搜索和替换文本
每次我想要使用Perl命令时,我必须定义变量吗?在bash中,我输出了curl
:
curl www.google.pl | sed 's/a/b'
我想省略这些$dupa
行
$#!/usr/bin/perl
$dupa = `curl -s https://api.binance.com/api/v1/ticker/allPrices`;
$dupa =~ s/"},\{"/\n/g;
$dupa =~ s/":"/=/g;
$dupa =~ s/","/\n/g;
$dupa =~ s/\[{"//g;
print $dupa;
答案 0 :(得分:3)
Perl代码中始终为use strict
。没有例外!
不要向curl
发出请求以发出HTTP请求。使用像LWP::Simple
这样的Perl模块。
您下载的数据是JSON。不要把它当作弦来操纵;使用JSON解析器(如JSON::XS
)将其转换为数据结构。
这是一个开始:
use strict;
use LWP::Simple qw( get );
use JSON::XS qw( decode_json );
use Data::Dumper qw( Dumper );
my $data = decode_json(get("https://api.binance.com/api/v1/ticker/allPrices"));
print Dumper($data);
您现在可以操纵$data
变量中的数据结构;例如:
for my $item (@$data) {
print "$item->{symbol} : $item->{price}\n";
}