[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 211
  • Last Modified:

what is the problem in this script and why it makes error

i have the attached script when I enter data and press the button it prints ok then display error message and I don't know why
I commented 2 lines because they made error
#use lib qw(/opt/lampp/bin/perl);
#use WebDB;
can you please tell me how to make the script work without comments
also this line I don't know what does it means
#@ MAIN_LOGIC
#@ INSERT_ITEM
#@ DISPLAY_ENTRY_FORM
please help as soon as possible
best regards
hatem gamal
#! /opt/lampp/bin/perl -w
#@ MAIN_LOGIC
# todo1.pl - initial version of to-do application
 
use strict;
#use lib qw(/opt/lampp/bin/perl);
use CGI qw(:standard);
#use WebDB;
 
print header (),
	start_html (-title => "To-Do List", -bgcolor => "white"),
	h2 ("To-Do List");
 
# Dispatch to proper action based on user selection
 
my $choice = lc (param ("choice"));	# get choice, lowercased
 
if ($choice eq "")					# initial script invocation
{
	display_entry_form ();
}
elsif ($choice eq "submit")
{
	insert_item (param ("content"));
	display_entry_form ();
}
else
{
	print p ("Logic error, unknown choice: $choice");
}
 
print end_html ();
#@ MAIN_LOGIC
 
exit (0);
 
# ----------------------------------------------------------------------
 
# Insert new to-do item if the content is non-empty.
 
#@ INSERT_ITEM
sub insert_item
{
my $content = shift;
my $dbh;
 
	$content =~ s/^\s+//;	# strip leading whitespace
	$content =~ s/\s+$//;	# strip trailing whitespace
	if ($content ne "")		# if content is non-empty, add to table
	{
		$dbh = WebDB::connect ();
		$dbh->do (qq{
			INSERT INTO todo SET t = NOW(), status = 'open', content = ?
				}, undef, $content);
		$dbh->disconnect ();
	}
}
#@ INSERT_ITEM
 
# Display entry form
 
#@ DISPLAY_ENTRY_FORM
sub display_entry_form
{
	print start_form (-action => url ()),
		"To-do item:", br (),
		textarea (-name => "content",
					-value => "",
					-override => 1,
					-rows => 3,
					-columns => 80),
		br (),
		submit (-name => "choice", -value => "Submit"),
		end_form ();
}
#@ DISPLAY_ENTRY_FORM

Open in new window

0
hatem_from_mesr
Asked:
hatem_from_mesr
  • 2
3 Solutions
 
Fairlight2cxCommented:
On the very first line, remove the space at position 3 after the #! sequence.
0
 
TintinCommented:
It would have been very helpful if you had posted the actual errors.

Line 6 will not generate any errors by itself, but it is incorrect as it should be a directory and not a filename.

Line 8 will get an error if the WebDB module is not installed in any of the standard Perl paths or in the path defined in line 6 (which is obviously the incorrect path)
0
 
Fairlight2cxCommented:
By the way...

The #@ lines look to be someone's private convention for starting and stopping a block of code--notes to themselves, essentially.
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now