Article 4811 of comp.lang.perl:
Xref: feenix.metronet.com comp.lang.perl:4811
Path: feenix.metronet.com!news.ecn.bgu.edu!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!math.ohio-state.edu!sol.ctr.columbia.edu!news.kei.com!ssd.intel.com!chnews!ornews.intel.com!ornews.intel.com!merlyn
From:
[email protected] (Randal L. Schwartz)
Newsgroups: comp.lang.perl
Subject: Re: chat2'open_proc
Date: 5 Aug 93 12:38:00
Organization: Stonehenge Consulting Services; Portland, Oregon, USA
Lines: 36
Distribution: world
Message-ID: <
[email protected]>
References: <
[email protected]>
NNTP-Posting-Host: wyeth.intel.com
In-reply-to:
[email protected]'s message of 5 Aug 1993 15:15:27 GMT
>>>>> In article <
[email protected]>,
[email protected] (Scott Grosch) writes:
Scott> I'm trying to open a process to change a users password. I think I need
Scott> to use chat2'open_proc() but I'm not sure how. Can someone show me an
Scott> example of using that to read from/write to a process. Thanks.
($user,$pass) = "bin","bad boy";
require 'chat2.pl';
&chat'open_proc("passwd $user") || die "Cannot open_proc: $!";
eval {
## presume we don't need old password, cuz we run as root
die "bad response: $_ (expected changing...:)"
if $_ = &chat'expect(10,'^Changing.*\n',0,
'.*\n','$1',
TIMEOUT,TIMEOUT,EOF,EOF);
die "bad response: $_ (expected ...ssword:)"
if $_ = &chat'expect(10,'.*ssword:.*',0,TIMEOUT,TIMEOUT,EOF,EOF);
&chat'print("$pass\n");
die "bad response: $_ (expected ...ssword:)"
if $_ = &chat'expect(10,'.*ssword:.*',0,TIMEOUT,TIMEOUT,EOF,EOF);
&chat'print("$pass\n");
die "bad response: $_ (expected nothing)"
if $_ = &chat'expect(10,'\s*\S(.*)','$&',TIMEOUT,TIMEOUT,EOF,0);
};
$die = $@;
&chat'close();
if ($die) {
die $die;
} else {
print "password changed";
}
require 'chat2.pl';&chat'open_proc("echo Just another Perl hacker,");print&chat'expect(10,'.*\n','$&');
--
Randal L. Schwartz / Stonehenge Consulting Services (503)777-0095
[email protected] (semi-permanent)
[email protected] (NEWSREADING ONLY)
Quote: "Welcome to Portland, Oregon, home of the California Raisins!"