#!/usr/bin/perl -w use strict; $ENV{PATH} = "/usr/sbin"; my $retval; my $SCRIPT = $ARGV[0]; my $REPORT = '/tmp/runchat.fox'; my $MODEM = $ENV{MODEM}; my $FIFO = $ENV{FIFO}; $| = 1; if (-e $REPORT) { unlink $REPORT; } `/usr/sbin/chat -f $SCRIPT -r $REPORT <$MODEM >\ $MODEM 2>$FIFO`; $retval = ($? >> 8); open STDOUT, ">$FIFO"; # print "\nmessage We ran chat and got retval of # $retval...\n"; if (!(-z $REPORT)) { open (REPORT, "< $REPORT") or die "message can't open $REPORT: $!\n"; while (<REPORT>) { if (!(m/$REPORT/)) { print "\nmessage $_\n"; } } close REPORT; # print "\nmessage now closing $REPORT\n"; } if (-e $REPORT) { unlink $REPORT; } if ($retval == 3) { print "message TIMEOUT\n"; } if ($retval == 4) { print "message NO CARRIER\n"; } if ($retval == 5) { print "message BUSY\n"; } if ($retval == 7) { print "message NO DIALTONE\n"; } if ($retval == 8) { print "message WAITING\n"; } $! = $retval;