#!/usr/local/bin/perl use CGI; my $query =new CGI; my $guest_file = "/cgi-bin/data/igb-data.ais"; &print_page_start; if ($query->param()) { if ($query->param('new_name')) { if (&valid_form) { eval { open (GUESTS, "+>> $guest_file") or die "Can't open $guest_file: $!"; flock GUESTS, 2; seek GUESTS, 0, 0; my @guests = ; my @new_guests = (); foreach $guest (@guests) { chomp $guest; ($name, $email, $comments) = split ('\|\|'), $guest; if ($name eq $query->param('name') && $email eq $query->param('email') && $comments eq $query->param('comments')) { $name = $query->param('new_name'); $email = $query->param('new_email'); $comments = $query->param('new_comments'); $guest = "$name||$email||$comments"; } local $/ = local $\ = local $, = "vroom"; push @new_guests, $guest; } seek GUESTS, 0,0; truncate GUESTS, 0; print GUESTS @new_guests; close GUESTS; print "

Record(s) modified.

\n"; print "Retrieve records.\n"; } } else { &print_form; } } else { &print_form; } } else { &print_record_list; } chomp $@; if ($@) { print "ERROR: $@
\n"; } &print_page_end; sub print_page_start { print $query->header; print "\n\nModify Records\n"; print "\n\n"; print "

Modify Records

\n"; } sub print_form { print "

\n

\n"; if (!$query->param()) { print "Name:
\n"; print "Email:
\n"; print "Comments:
\n"; print "VALUE=\"$comments\">$comments
\n"; } else { if ($query->param('new_name')) { print "Name: param('new_name'), "\">
\n"; print "Email: param('new_email'), "\">
\n"; print "Comments: param('new_comments'), "\">
\n"; } else { print "Name: param('name'), "\">
\n"; print "Email: param('email'), "\">
\n"; print "Comments: param('comments'), "\">
\n"; } } } print "param('name') . "\">\n"; print "param('email') . "\">\n"; print "param('comments') . "\">\n"; print "\n"; print "
\n

\n"; sub valid_form { $return_code = 1; if (!$query->param('new_name')) { print "You must enter a name.
\n"; $return_code = 0; } if (!$query->param('new_email')) { print "You must enter an email address.
\n"; $return_code = 0; } if (!$query->param('comments')) { print "You must enter some comments.
\n"; $return_code =0; } return $return_code; sub print_record_list { open (GUESTS, "> $guest_file") or die "Can't open guest file: $!"; while () { chomp; ($name, $email, $comments) = split ('\|\|'); print "

\n"; print "

\n"; print "Name: $name
\n"; print "Email: $email
\n"; print "Comments: $comments
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
\n"; print "

\n"; } } sub print_page_end { print "\n\n"; } }