PerlMonkey22 has asked for the wisdom of the Perl Monks concerning the following question:
Hello everyone, I got a task to write a Perl script to test our API. So far so good code below
use strict; use warnings; use JSON; use JSON::Parse 'parse_json'; print "Loading API.\n"; my $json = `curl -k --silent -u admin:password https://url...`; print "API is loaded.\n"; my $decoded_json = parse_json ($json); my $input = $ARGV[0]; chomp $input; my ($item, $mac, $value); foreach $item (@$decoded_json) { $mac = $item->{address}; if ($input eq "active") { $value = $item->{active}; if ($value eq 1){ print ("Device with the MAC-Adress: $mac is active!\n"); }elsif($value eq ""){ print ("Device with the MAC-Adress: $mac is disabled!\n"); }}else{ print ("Device with the MAC-Adress: $mac, the value of $input +is: ", $item->{$input}, "\n"); } };
Is it possible to replace the loop and if statments, so the asked parameter like "active=true", with curl? So the true values get saved in $json. Basicly, execute the request with just curl code. For example if I start it: perl test.pl active=true, so it outputs only the active true values?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Getting values with help of curl
by Corion (Patriarch) on Sep 01, 2022 at 10:53 UTC | |
by PerlMonkey22 (Novice) on Sep 01, 2022 at 11:28 UTC | |
by Corion (Patriarch) on Sep 01, 2022 at 11:33 UTC | |
by PerlMonkey22 (Novice) on Sep 01, 2022 at 12:01 UTC | |
by choroba (Cardinal) on Sep 01, 2022 at 14:18 UTC | |
|