#!/usr/local/bin/perl ############################################################################### # Sam Sultan # # Chat application ############################################################################### use CGI "param"; #use CGI perl module $htmlfile = "../web/demo/perl/chatEntry.html"; $chatfile = "../data/chat.file"; if (param()) { # is there form input? &update() if ($ARGV[0] eq ''); &clear() if ($ARGV[0] eq 'c'); } &display(); ############################################################################## # display: read the chat html form and reprint it ############################################################################## sub display { open(HTML, "<$htmlfile") || ($msg = "Cannot open $htmlfile input!"); print "Content-type: text/html\n"; print "\n"; while ($line = ) { # print chat html form ($line =~ /^NAME=user VALUE=""/) ? print "NAME=user VALUE=$user> \n" : print $line; } print "
$msg";
close(HTML);
}
##############################################################################
# update: updates the chat file with a new entry
##############################################################################
sub update {
$user = param('user');
$comment = param('comment');
open(CHAT, ">>$chatfile") || ($msg = "Cannot open $chat room!");
$newEntry = " $user: $comment
\n";
print CHAT $newEntry; # write new entry to file
close(CHAT);
}
##############################################################################
# clear: clear chat room by deleting all conversations
##############################################################################
sub clear {
open(CHAT, ">$chatfile") || ($msg = "Cannot open $chat room!");
close(CHAT);
}