#!/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); }