This should just be a matter of setting the right content header and sending the bytes along. Make sure your script hasn't sent any other content type headers.
my $pdf = slurp("file.pdf"); # Contains the whole PDF file
print "Content-type: application/pdf\n\n$pdf";