use strict; use warnings; use JSON; use JSON::Parse 'parse_json'; use Data::Dumper qw(Dumper); my $content = `curl --silent -k -u admin:pass https://url/api/v2/GetDeviceInfo?$ARGV[0]`; my $decoded_json = decode_json($content); my $data = Dumper $decoded_json; foreach my $line($data) { print "$line\n"; } #### my $content = `curl --silent -k -u admin:pass https://url/api/v2/GetDeviceInfo?$ARGV[0]`; $content =~ tr/"/ /; $content =~ tr/,/\n/; print "$content\n"; #### "device":[{ host_info: { engine_id: null name: null host_group_info: { name: null remarks: null id: 0} ... #### "device": [{ "host_info": { "engine_id": null, "name": null, "host_group_info": { "name": null, "remarks": null, "id": 0 } } ...