I think that you will hardly get any solution without a module. Besides, as far as I know, CGI is already in the standard distribution, so that it won't matter for you anyways. And your code will be much more readable if you have the networking stuff in another module.
I've never done any CGI programming or such, since I don't have a webserver which I could use, but the following should (possibly after debugging) work:
#!perl
use strict;
use warnings;
use CGI qw[:standard];
param() or die "Need to provide a parameter\n";
param('err') or die "Need to provide error number\n";
print header,
start_html('My error report'),
"Hey, I got error ",
em(param('err')), p,
". Great, isn't it?",
hr;
Hope this helps anyways.