3 use Net::Z3950::SimpleServer;
13 foreach $key (keys %{ $href }) {
15 if ($key eq "DATABASES") {
16 foreach $item ( @{ $href->{DATABASES} }) {
20 } elsif ($key eq "HANDLE") {
21 foreach $item ( keys %{ $href->{HANDLE} }) {
23 print ${ $href->{HANDLE}}{$item};
40 $hash->{Anders} = "Sønderberg Mortensen";
41 $hash->{Birgit} = "Stenhøj Andersen";
42 $href->{IMP_NAME} = "MyServer";
43 $href->{IMP_VER} = "3.14159";
44 $href->{ERR_CODE} = 0;
45 $href->{HANDLE} = $hash;
47 print "---------------------------------------------------------------\n";
48 print "Connection established\n";
51 print "---------------------------------------------------------------\n";
54 sub my_search_handler {
58 my $hash = $href->{HANDLE};
62 $href->{ERR_STR} = "A";
63 $hash->{Search} = "Search Handler er besøgt";
64 # $href->{HANDLE} = $hash;
66 print "---------------------------------------------------------------\n";
67 print "Search handler\n";
70 print "---------------------------------------------------------------\n";
74 sub my_present_handler {
77 $href->{ERR_CODE} = 0;
79 $href->{ERR_STR} = "";
81 print "--------------------------------------------------------------\n";
82 print "Present handler\n";
85 print "--------------------------------------------------------------\n";
89 sub my_close_handler {
93 print "-------------------------------------------------------------\n";
94 print "Connection closed\n";
97 print "-------------------------------------------------------------\n";
102 sub my_fetch_handler {
104 my $hash = $href->{HANDLE};
106 $hash->{Fetch} = "Fetch handler er besøgt";
107 ##$href->{RECORD} = "<head>Overskrift</head> <text>Her kommer teksten</text>";
108 $href->{RECORD} = "<xml><head>Overskrift</head><body>Der var engang en mand</body></xml>";
111 $href->{BASENAME} = "MS-Gud";
113 ## $href->{HANDLE} = \%hash;
115 print "------------------------------------------------------------\n";
116 print "Fetch handler\n";
119 if ($href->{REQ_FORM} eq Net::Z3950::OID::unimarc) {
120 print "Formatet UNIMARC\n";
122 print "Formatet er IKKE unimarc\n";
124 print "------------------------------------------------------------\n";
130 my $handler = Net::Z3950::SimpleServer->new({ INIT => \&my_init_handler,
131 CLOSE => \&my_close_handler,
132 SEARCH => \&my_search_handler,
133 FETCH => \&my_fetch_handler
136 $handler->launch_server("ztest.pl", @ARGV);