output using Html format.

this is the code I want to output from a database,  but  it only output for
unix console, I want the output using Html format, how ?


#!/usr/local/bin/perl -w

# Use the DBM module.
use Getopt::Long;
use English;
use AnyDBM_File;

# Set up the command line options.
my $ret            = GetOptions ("d|database:s");
#my $database    = $opt_d || die "Usage: $0 -d database\n";

#my $database      ="/cgi-bin/process/hctu/she/testDir/convert.dbm";
my $database   = "convert.dbm";
my (%contents,$count,$type,$name,$price,$desc,$record);

# Open the DBM database file.
dbmopen (%contents, $database, 0700) || die "Could not open DBM file $database : $!\n";

# Force the top of page.
$FORMAT_LINES_LEFT = 0;
$count = 0;

# Start printing out the dbm information.
for $number (sort keys %contents)
{
   # Get the contents from the hash.
   $record = $contents{$number};

   # Split the record up.
   ($type,$name,$price,$desc) = split (/\|/, $record);
   $count++;

   # Write it...
   write;
}

# Close the DBM database.
dbmclose %contents;

# Top of picture formats.
format STDOUT_TOP=
Count Item #  Item Type  Item Name      Price     Description   Page @>>>>>>
$FORMAT_PAGE_NUMBER
============================================================================
.

format STDOUT=
@>>>> @|||||| @<<<<<<<<< @<<<<<<<<<<<<< $@####.## ^<<<<<<<<<<<<<<<<<<<<<<<<<
$count,$number,$type,$name,$price,$desc
~                                                 ^<<<<<<<<<<<<<<<<<<<<<<<<<
$desc
~                                                 ^<<<<<<<<<<<<<<<<<<<<<<<<<
$desc
.




this is the unix output!

ount Item #  Item Type  Item Name      Price     Description   Page       1
============================================================================
    1   100   Hardware   Hammer         $   25.00 A thing to hit nails with.
    2   122   Hardware   Nail           $    0.15 A thing to be hit by a
                                                  hammer. (see hammer)
    3   142   Hardware   Sander         $   10.15 Used to sand all sorts of
                                                  things, except sand.
    4   206   Household  Kitchen Sink   $  100.00 Lost the last time I went
                                                  on vacation. (next time
                                                  this I won't check it in)
    5   210   Household  Windows        $   45.00 User friendly and does not
                                                  need to be plugged in.
    6   242   Household  Vacuum         $  300.00 I'm not sure what this is
                                                  used for; but people seem
                                                  to have them anyway.
    7   266   Household  Microwave      $  100.00 Kitchen item. (Also see
                                                  hot water heater)
    8   312   Garden     Rake           $   25.00 Used to rake leaves, cut
                                                  grass and break noses if
                                                  left lying on the ground.
    9   344   Garden     Gravel         $   30.00 Why bother the dog is
                                                  going to dig through it
                                                  again anyway.
   10   362   Garden     Top Soil       $   10.00 Is there such a thing as
                                                  "Bottom Soil"?
   11   384   Garden     Mosquitoes     $    0.00 Some are large as a dog
                                                  and will carry you away.
   12   500   Sports     Hockey Stick   $   10.00 Used to push the puck
                                                  around.
   13   502   Sports     Bike           $  400.00 Sits in the garage and
                                                  collects dust.
   14   556   Sports     First Aid Kit  $   25.00 Used more times than not
                                                  unfortunately.
   15   602   Misc       Dog Food       $    1.50 The stuff the cat eats.
   16   624   Misc       Cat Food       $    0.75 The stuff the dog eats.
   17   644   Misc       Socks          $    1.00 What both the dog and cat
                                                  destroy.

syu1Asked:
Who is Participating?
 
HardawayConnect With a Mentor Commented:
One more thing, please view the HTML source code. It was because blank page should contained some HTML tags. If you can see the "<pre>" tag, then the blank page might cause by the for loop(output nothing). Otherwise, the Perl script was not writting HTML output.
0
 
guadalupeCommented:
Try this:

print "Content-type: text/html\n\n";

print "<pre>\n";

# Start printing out the dbm information.
for $number (sort keys %contents)
{
   # Get the contents from the hash.
   $record = $contents{$number};

   # Split the record up.
   ($type,$name,$price,$desc) = split (/\|/, $record);
   $count++;

   # Write it...
   write;
}
print "</pre>\n";

Didn't put it as an answer as I'm not sure but give it a try...  try from the command line first then from a web browser...
0
 
syu1Author Commented:
thanks , the command line is ok, but the web browser doesnt works at all.


0
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

 
syu1Author Commented:
thanks , the command line is ok, but the web browser doesnt works at all.


0
 
guadalupeCommented:
What happens when you run it from the browser...?

Could it be a problem of permissions?

Try doing a chmod of 755 to give all users permission to execute the script.
0
 
syu1Author Commented:
it is just empty page , is seems nothing print out.

I change like following, it is still empty page, but
the header is print out, I have use chmod, it is nothing to to with it,

thanks!
0
 
guadalupeCommented:
What happens when you run it from the browser...?

Could it be a problem of permissions?

Try doing a chmod of 755 to give all users permission to execute the script.
0
 
guadalupeCommented:
And what do you get from the command line...?
0
 
guadalupeCommented:
Are you outputting anything before the  MIME type header...?  Make sure that this is the veryt first print line that goes to standard out (that is to say the first print that doesn't explicitly specify some file handle)

print "Content-type: text/html\n\n";



And what doe you see in the browser wibd when you call it...?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.