Initial import.
[utils.git] / anndata
... / ...
CommitLineData
1#!/usr/bin/perl -w
2
3use Getopt::Long;
4use Anime::ANN;
5
6GetOptions(\%options, ("l=s", "b=s"));
7
8if($options{"l"}) {
9 @list = Anime::ANN::getlist($options{"l"});
10 foreach $name (@list) {
11 print "$name\n";
12 }
13 exit 0;
14}
15
16if($options{"b"}) {
17 exec "htmlview", Anime::ANN::geturl(Anime::ANN::getid $options{"b"});
18}
19
20if(!defined($ARGV[0])) {
21 printf STDERR "usage: anndata NAME\n";
22 exit 1;
23}
24
25unless($id = Anime::ANN::getid $ARGV[0]) {
26 printf STDERR "could not find $ARGV[0]\n";
27 exit 1;
28}
29
30$info = Anime::ANN::getseries $id;
31
32sub refdump
33{
34 my($ref, $ind);
35 ($ref, $ind) = @_;
36 if(!defined($ind)) {
37 $ind = 0;
38 }
39
40 if(ref $ref eq "HASH") {
41 for $key (sort keys %{$ref}) {
42 print ((" " x $ind) . "$key: " . (" " x (20 - length $key)) . "(" . $ref->{$key} . ")\n");
43 refdump($ref->{$key}, $ind + 1) if ref $ref->{$key};
44 }
45 } elsif(ref $ref eq "ARRAY") {
46 for($i = 0; $i < @{$ref}; $i++) {
47 print ((" " x $ind) . "$i: " . $ref->[$i] . "\n");
48 refdump($ref->[$i], $ind + 1) if ref $ref->[$i];
49 }
50 } else {
51 print ((" " x $ind) . "Unknown ref: $ref\n");
52 }
53}
54
55binmode STDOUT, ":utf8";
56refdump $info;