#!/usr/local/bin/perl -w use strict; #declare vars our $set_fwd; our $username; our $message; our $on_off; our $FILENAME; our @list_of_files; #initialize @list_of_files to what the correct list of files @list_of_files=(".forward", ".vacation.msg", ".vacation.pag", ".vacation.dir"); `touch Adfasfasfasdfasdfhlasfhasdfhdsfjhjdhsfhfajfhjfhasjfh`; ### # pass arguments in this patern: username on/off message no quotations needed ### if (($#ARGV > 1) || (($#ARGV ==1) && ($ARGV[1] eq "off"))) { $username=$ARGV[0]; $on_off=$ARGV[1]; if($on_off eq "on") { $message = join (" ",@ARGV); $message =~ s/$username//; $message =~ s/$on_off//; &On(); } elsif ($on_off eq "off") &Off(); else { print "Necessary Value Contains Incorrect Parameters\n"; exit 1; } } else { print "Error Reading Action\n"; exit 1; } print "
$username\'s vacation message has been \n"; print " "; if($on_off eq "on") print "Activated"; else print "Deactivated"; print " .

\n"; print "
\n"; print "
\n"; print "

Please E-Mail $username\@iwu.edu\n"; print " to test this message.
If you "; if($on_off eq "on") print "do not "; print "recieve an automatic response with your\n"; print " vacation message please resubmit this form
\n"; } else print "Not all necessary values have been given.\n"; sub On { foreach $FILENAME (@list_of_files) { open(TempFile, ">/home/$username/$FILENAME") || die ("Unable to open /home/$username/$FILENAME"); if ( $FILENAME eq ".forward") { #.forward must look like #\username, "|/usr/bin/vacation username" $set_fwd="\\$username, \"|/usr/bin/vacation $username\""; print TempFile $set_fwd; } if ( $FILENAME eq ".vacation.msg") { print TempFile $message; print TempFile "\n"; } close(TempFile); `chmod 644 /home/$username/$FILENAME`; `chown $username /home/$username/$FILENAME`; } } sub Off { foreach $FILENAME (@list_of_files) `rm -f /home/$username/$FILENAME`; }