syu1
asked on
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/sh e/testDir/ convert.db m";
my $database = "convert.dbm";
my (%contents,$count,$type,$n ame,$price ,$desc,$re cord);
# 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,$d esc
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<
$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.
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/sh
my $database = "convert.dbm";
my (%contents,$count,$type,$n
# 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)
$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
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<
$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.
ASKER
thanks , the command line is ok, but the web browser doesnt works at all.
ASKER
thanks , the command line is ok, but the web browser doesnt works at all.
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.
Could it be a problem of permissions?
Try doing a chmod of 755 to give all users permission to execute the script.
ASKER
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!
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!
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.
Could it be a problem of permissions?
Try doing a chmod of 755 to give all users permission to execute the script.
And what do you get from the command line...?
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...?
print "Content-type: text/html\n\n";
And what doe you see in the browser wibd when you call it...?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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)
$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...