}
        delete $ctx->{obuf};
        eval { $$obuf .= html_footer($ctx, $eml) };
-       html_oneshot($ctx, 200, $obuf);
+       html_oneshot($ctx, 200, $$obuf);
 }
 
 # public functions: (unstable)
                $next = $next ? "$next | " : '             | ';
                $prev .= qq[ | <a\nhref="$latest">latest</a>];
        }
-       ($next || $prev) ? \"<hr><pre>page: $next$prev</pre>" : \'';
+       ($next || $prev) ? "<hr><pre>page: $next$prev</pre>" : '';
 }
 
 sub paginate_recent ($$) {
 
 my $SHOW_FMT = '--pretty=format:'.join('%n', '%P', '%p', '%H', '%T', '%s',
        '%an <%ae>  %ai', '%cn <%ce>  %ci', '%b%x00');
 
-sub html_page ($$$) {
-       my ($ctx, $code, $str) = @_;
+sub html_page ($$;@) {
+       my ($ctx, $code) = @_[0, 1];
        my $wcb = delete $ctx->{-wcb};
        $ctx->{-upfx} = '../../'; # from "/$INBOX/$OID/s/"
-       my $res = html_oneshot($ctx, $code, \$str);
+       my $res = html_oneshot($ctx, $code, @_[2..$#_]);
        $wcb ? $wcb->($res) : $res;
 }
 
 
 sub need {
        my ($ctx, $extra) = @_;
        require PublicInbox::WwwStream;
-       PublicInbox::WwwStream::html_oneshot($ctx, 501, \<<EOF);
+       PublicInbox::WwwStream::html_oneshot($ctx, 501, <<EOF);
 <pre>$extra is not available for this public-inbox
 <a\nhref="../">Return to index</a></pre>
 EOF
 
        my $altid_map = $ibx->altid_map;
        my $fn = $altid_map->{$altid_pfx};
        unless (defined $fn) {
-               return html_oneshot($ctx, 404, \<<EOF);
+               return html_oneshot($ctx, 404, <<EOF);
 <pre>`$altid_pfx' is not a valid altid for this inbox</pre>
 EOF
        }
 
        if ($env->{REQUEST_METHOD} ne 'POST') {
                my $url = $ibx->base_url($ctx->{env}) . "$altid_pfx.sql.gz";
-               return html_oneshot($ctx, 405, \<<EOF);
+               return html_oneshot($ctx, 405, <<EOF);
 <pre>A POST request is required to retrieve $altid_pfx.sql.gz
 
        curl -d '' -O $url
 EOF
        }
 
-       $sqlite3 //= which('sqlite3') // return html_oneshot($ctx, 501, \<<EOF);
+       $sqlite3 //= which('sqlite3') // return html_oneshot($ctx, 501, <<EOF);
 <pre>sqlite3 not available
 
 The administrator needs to install the sqlite3(1) binary
 
        $ctx->zflush(_html_end($ctx));
 }
 
-sub html_oneshot ($$;$) {
-       my ($ctx, $code, $sref) = @_;
+sub html_oneshot ($$;@) {
+       my ($ctx, $code) = @_[0, 1];
        my $res_hdr = [ 'Content-Type' => 'text/html; charset=UTF-8',
                'Content-Length' => undef ];
        bless $ctx, __PACKAGE__;
                $ctx->zmore(html_top($ctx));
                $ctx->{base_url} = base_url($ctx);
        };
-       $ctx->zmore($$sref) if $sref;
-       my $bdy = $ctx->zflush(_html_end($ctx));
+       my $bdy = $ctx->zflush(@_[2..$#_], _html_end($ctx));
        $res_hdr->[3] = length($bdy);
        [ $code, $res_hdr, [ $bdy ] ]
 }
 
        $txt =~ s!\bPOP3\b!<a\nid=pop3>POP3</a>!;
        $txt =~ s!\b(Newsgroups?)\b!<a\nid=nntp>$1</a>!;
        $txt =~ s!\bIMAP\b!<a\nid=imap>IMAP</a>!;
-       PublicInbox::WwwStream::html_oneshot($ctx, $code, \$txt);
+       PublicInbox::WwwStream::html_oneshot($ctx, $code, $txt);
 }
 
 sub _srch_prefix ($$) {