Переписав пример в документации , чтобы вернуть JSON, выглядело бы примерно так:
#!/usr/bin/perl
use strict;
use warnings;
use HTTP::Daemon;
use HTTP::Status;
use HTTP::Response;
use HTTP::Headers;
use JSON::PP;
my $headers = HTTP::Headers->new;
$headers->header(Content_Type => 'application/json');
my $content = JSON::PP->new->utf8->encode({ Status => 'Ok' });
my $d = HTTP::Daemon->new || die;
print "Please contact me at: <URL:", $d->url, ">\n";
while (my $c = $d->accept) {
while (my $r = $c->get_request) {
if ($r->method eq 'GET' and $r->uri->path eq "/xyzzy") {
$c->send_response(
HTTP::Response->new(200, 'OK', $headers, $content)
);
}
else {
$c->send_error(RC_FORBIDDEN)
}
}
$c->close;
undef($c);
}
Но учтите, что написание веб-приложения на этом уровне редко бывает полезноделать.Вы действительно хотите установить веб-фреймворк (мне нравится Dancer2 ), поскольку это сделает вашу жизнь намного проще.
Я не уверен, что накладывает на вас эти ограничения.Но если вы не используете современную версию Perl (по крайней мере, 5.10) и не устанавливаете модули из CPAN, то вы делаете свою карьеру в Perl намного сложнее, чем нужно.