Server IP : 192.168.23.10  /  Your IP : 216.73.216.127
Web Server : Apache
System : Linux echo.premieradvertising.com 5.14.0-362.8.1.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 7 14:54:22 EST 2023 x86_64
User : rrrallyteam ( 1049)
PHP Version : 8.1.32
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF
Directory (0755) :  /home/../../usr/share/doc/libpng-devel/../perl-Expect/tutorial/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/../../usr/share/doc/libpng-devel/../perl-Expect/tutorial/6.B.modem-init
#!/usr/bin/perl
#	This is a very brief script that demonstrates send_slow(). This
#command is chiefly for talking to modems and the like where if you send
#it stuff too fast it can get mad at you.
#	Also demonstrated is how to talk to a bidirectional device
#handle.
#
#	This example has been changed in 1.05 so that it actually works. :-)

use Expect;

$device="/dev/modem" unless $device = shift(@ARGV);

# open the device
open(DEVICE,"+>$device") || die "Couldn't open $device, $!\n";

# Expectize it. note the \* which we do because we didn't use the OO
# method of opening the device.
$modem=Expect->exp_init(\*DEVICE);
# Let's watch the output. Once again, output isn't automatically
# watched since it was an initialized handlde and not a process.
$modem->log_stdout(1);

# Put it in raw mode w/ no echoing so it will operate as expected.
$modem->exp_stty('raw','-echo');

# Send it an ATZH0\r to reset its state.
print "Initializing modem\n";
$modem->send_slow(.5,"ATZH0\r");

# How about we look for an OK?
$modem->expect(30,'-re','^OK\r?$')|| warn "Never got OK from modem\n";
print "Modem initialized.\n";

# Now let's interact with it so the user can talk to it, dial it out,
# whatever. This is basically a poor man's term program.
# When you interact() with a handle it puts STDIN in raw mode so
# you are assured of interacting cleanly, no escape chars, etc.
# This is usually what you want. Here however it's nice to be able to
# escape from the session without doing any extra work. So let's make
# an escape character of ^W.
print "Beginning interaction, escape character is ^W.\n";
$modem->interact(\*STDIN,"\027");

# Done? Reset the modem, close the handle.
print $modem "+++";
sleep 3;
print $modem "ATZH0\r";
sleep 1;
# Grab any output ready on the handle, toss it.
$modem->expect(0);
$modem->hard_close();