11 die("Usage xx irspy-server\n");
13 my $server = $ARGV[0];
15 my $c = new ZOOM::Connection($server);
16 my $res = $c->search(new ZOOM::Query::CQL('cql.allRecords=1'));
17 $res->option(schema => 'zeerex');
18 print STDERR "Hits: " . $res->size() . "\n";
20 for ($i = 0; $i < $res->size(); $i++)
22 my $rec = $res->record($i);
23 my $txt = $rec->raw();
24 my $r = XML::Simple::XMLin($txt, forceArray =>
25 ['set', 'index', 'map', 'attr', 'supports', 'missing',
26 'recordSyntax', 'elementSet']);
27 my $si = $r->{serverInfo};
28 if ($si->{protocol} ne 'Z39.50')
32 $si->{host} =~ s/^ *//;
33 $si->{host} =~ s/ *$//;
34 $si->{port} =~ s/^ *//;
35 $si->{port} =~ s/ *$//;
36 $si->{database} =~ s/^ *//;
37 $si->{database} =~ s/ *$//;
38 my $id = $si->{host} . ":" . $si->{port} . "/" . $si->{database};
39 $id = uri_escape($id);
40 print STDERR $id . "\n";
41 open O, ">records/$id" or die "$id: $!";