in reply to Opening PDF through CGI

I agree that at first glance that should work.

Perhaps ot would help if you told us in what way it fails.

Note, rather than passing the string "File Not Found" as the content of the PDF entity body if open() fails for any reason perhaps you should log an error containing the actual reason.

open(FIN,'<',$full_path") or die $!;