X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/15d902acaa8a1fc24f756dcc5788d697a0c69a48..917ba679115b9e3cd7b88f7e5081a1a2503a684e:/chars.plp diff --git a/chars.plp b/chars.plp index 04420cd..6605ec8 100644 --- a/chars.plp +++ b/chars.plp @@ -62,8 +62,7 @@ my $query = eval { say "

$title

"; if (!$query) { - Alert('Unicode group not specified', $@); - exit; + Abort(["Unicode group not found", $@], '404 no matches'); }; for ($parent || 'Unicode range') { @@ -82,15 +81,16 @@ for ($parent || 'Unicode range') { my @chars; for (map { split /[^\d-]/ } $query) { my @range = split /-/, $_, 2; - m/^[0-9]+$/ or die "Invalid code point $_ in query $query\n" for @range; + m/^[0-9]+$/ or Abort("Invalid code point $_ in query $query", 400) + for @range; push @chars, chr $_ for $range[0] .. ($range[1] // $range[0]); } -@chars or die "No match for query $query\n"; +@chars or Abort("No match for query $query", '404 no results'); -@chars <= 1500 or die sprintf( - 'Too many matches (%d) for query %s'."\n", - scalar @chars, $query, +@chars <= 1500 or Abort( + sprintf('Too many matches (%d) for query %s', scalar @chars, $query), + '403 not allowed', ); # output character list