serotta1958 has asked for the wisdom of the Perl Monks concerning the following question:

I am using a simple CGI.pl script to display an image. Using the script, The images do not display however if I take the generated html and save it as an html file it works perfectly. my perl code is

print $q->header, # create the HTTP header $q->start_html('hello world'), # start the HTML $q->img({-src => 'wp-content/uploads/Untitled-1.jpg', -alt => 'Powered by Perl'}), $q->h1('hello world'); # level 1 header

The generated HTML is below.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-U +S"> <head> <title>hello world</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1 +" /> </head> <body> <img src="wp-content/uploads/Untitled-1.jpg" alt="Powered by Perl" /> <h1> hello world </h1>

I have been pounding the table on this one for a few day's now. I have tried moving the image to other locations but to no avail.

Replies are listed 'Best First'.
Re: Using CGI to display images
by jethro (Monsignor) on Jul 28, 2011 at 17:08 UTC

    the current directory (or "current working directory") of the webserver is very likely different from your current directory (probably your home directory). Use absolute paths for the image and you should see it