#!/afs/athena/contrib/perl/perl

#push(@INC,"/afs/athena.mit.edu/user/m/marc/perl");
#require 'zsend.pl';

$zwrite = '/usr/athena/bin/zwrite';

@ARGV = &skip_arg('-s',@ARGV);

if (&given_arg('-m',@ARGV)) {
    $timeleft = 822113999-time;
    exec $zwrite,'-s',"Self-destructing in $timeleft seconds.",@ARGV;
} else {
    $message = &get_message();
    $timeleft = 822113999-time;
    exec $zwrite,'-s',"Self-destructing in $timeleft seconds.",@ARGV,
         '-m',$message;
}


sub given_arg {
    local($arg,@argv) = @_;
    local($i);

    for $i (@argv) {
	return (1,$i) if ($i eq $arg);
    }

    return undef;
}

sub mkarg {
    local($arg,$default,@argv) = @_;
    local($found,$value) = &given_arg($arg,@argv);

    if ($found) {
	return $value;
    } else {
	return $default;
    }
}

sub skip_arg {
    local($arg,@argv) = @_;
    local($i,@result);

    while (@argv) {
	$i = shift(@argv);
	if ($i eq $arg) {
	    shift(@argv);
	} else {
	    push(@result, $i);
	}
    }
    return @result;
}

sub get_message {
    local($message);
    local(@ARGV) = ();

    print "Type your message now.  ",
          "End with control-D or a dot on a line by itself.\n";

  LINE:
    while (<>) {
	last LINE if (/^\.$/ && !$eof_only);
	$message .= $_;
    }

    $message =~ s/\n+$//;

    return $message;
}
