use strict (qw(vars));
use LWP::UserAgent;
use JSON;
-#use Data::Dumper;
+use Data::Dumper;
@ARGV==1 or die "You probably don't want to run this program directly.\n";
our ($which) = shift @ARGV;
die "$_ $& ?" if m/[^-+'"# 0-9a-z]/i;
p("{$_[0]}");
}
-
-sub main__island () {
+
+sub get_arches_islands () {
my $ocean= $ENV{'YPPSC_OCEAN'}; die unless $ocean;
my $url= "$pctb/islands.php?oceanName=".uc $ocean;
my $resp= $ua->get($url);
die $resp->status_line unless $resp->is_success;
$jsonresp= $resp->content;
my $jobj= jsonToObj($resp->content);
- my @arches= jparsetable($jobj, 'arches');
- my @islands= jparsetable($jobj, 'islands');
+ my $arches= [ jparsetable($jobj, 'arches') ];
+ my $islands= [ jparsetable($jobj, 'islands') ];
+ return ($arches,$islands);
+}
+
+sub main__island () {
+ my ($arches, $islands) = get_arches_islands();
# print Dumper(\@arches, \@islands);
my $islands_done=0;
- foreach my $arch (sort_by_name(@arches)) {
+ foreach my $arch (sort_by_name(@$arches)) {
# print Dumper($arch);
my $aname= $arch->{'name'};
die "$jsonresp ?" unless defined $aname;
ptcl($aname); p(' '); ptcl($aname); p(" {\n");
- foreach my $island (sort_by_name(@islands)) {
+ foreach my $island (sort_by_name(@$islands)) {
my $iname= $island->{'name'};
die "$jsonresp $aname ?" unless defined $iname;
next unless $arch->{'id'} == $island->{'arch'};
}
p("}\n");
}
- die "$jsonresp $islands_done ?" unless $islands_done == @islands;
+ die "$jsonresp $islands_done ?" unless $islands_done == @$islands;
}
sub main__sunshinewidget () {