Project Flatfile

Below are the PERL files
Read
Write
Reset
Scan (cron)

Goal: Project was writing a script that would run everyday (cron) to check the expiration of employee certification and notify them via e-mail 3 months before their certification expires. Script should be able to send multiple emails and record the time and date of the e-mail. Security can be handled by Apache config file to limit only fixed IP address to read or write a file.

Program language is PERL Practical Extraction and Reporting Language http://www.perl.org . The Server is Unix >http://httpd.apache.org/ . The project consists of four scripts Read, Write, Reset and Scan. Reset is only for troubleshooting. All scripts end with .cgi. There needs to be another File in the cgi-bin directory to hold employee files (It needs to be called "File"). All employee files end in .txt. HTML is done in Adobe GoLive. Date verification is handled custom JavaScript

Problem Solvers Hall of Fame


(June21, 2005) code.select of Kasamba (http://www.kasamba.com) Set me on the correct path to using the JavaScript for the dynamic date which was provided by the book JavaScript for the World Wide Web, Visual QuickStart Guide, 5th Edition by Tom Negrino & Dori Smit.


(June 6, 2005) ibirman's of Ingenio ( http://www.ingenio.com ) solved a serious problem with my cron script that required that I chomp line ends on incoming data.


(May 5, 2005) dynamo on the Perl Monks web site http://www.perlmonks.org/ He pointed out the correct way to read an array and use a while loop.


(May 3, 2005) Michael (milvich) on the Newsgroup: comp.sys.mac.programmer.help.


(April 21, 2005) Jeremy Nixon on the Newsgroup: comp.sys.mac.system It was a stupid syntax error (there should not be a slash behind perl). #!/usr/bin/perl/.

Hardware
Mac G-4 dual 1.25 GHz. 2 GB DDR SDRAM 120 HD with 43 GB available OS Tiger 10.4.7 I also have Webmin 1.30 connfigured and running.
Version
G-4 Server version: Apache/1.3.33 (Darwin)Server built: Nov 29 2004 19:30:24Server's Module Magic Number: 19990320:16Server compiled with....-D EAPI-D HAVE_MMAP-D USE_MMAP_SCOREBOARD-D USE_MMAP_FILES-D HAVE_FCNTL_SERIALIZED_ACCEPT-D HAVE_FLOCK_SERIALIZED_ACCEPT-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT-D DYNAMIC_MODULE_LIMIT=64-D HARD_SERVER_LIMIT=2048-D HTTPD_ROOT="/usr"-D SUEXEC_BIN="/usr/sbin/suexec"-D DEFAULT_PIDLOG="/var/run/httpd.pid"-D DEFAULT_SCOREBOARD="/var/run/httpd.scoreboard"-D DEFAULT_LOCKFILE="/var/run/httpd.lock"-D DEFAULT_ERRORLOG="/var/log/httpd/error_log"-D TYPES_CONFIG_FILE="/etc/httpd/mime.types"-D SERVER_CONFIG_FILE="/etc/httpd/httpd.conf"-D ACCESS_CONFIG_FILE="/etc/httpd/access.conf"-D RESOURCE_CONFIG_FILE="/etc/httpd/srm.conf"

Note: form action has to use cgi-bin NOT CGI-Executables. (Mac OS X constraint)