From: Emeryville <eme...@ya...> - 2005-04-06 01:32:38
|
Hi Linux Perl expert, I running some script issue using Expect.pm (Open Souce download module from www.cpan.org) and Safe.pm (come with perl) and keep getting this error in safe mode: Can't locate package IO::Pty for @Expect::ISA at /usr/lib/perl5/site_perl/5.8.0/Expect.pm line 428. Can't locate package Exporter for @Expect::ISA at /usr/lib/perl5/site_perl/5.8.0/Expect.pm line 428. Nothing that I can figure out. Attach are the test program (very small) that produce this issue if you have Expect.pm installed. You can run to reproduce this issue. Any clue? I want to use Expect in Safe mode in Perl. ******** First program test.pl (Not a working program, just strip down enough it to reproduce the error message) #!/usr/bin/perl -w use Expect; use IO::Tty; use Safe; my $cpt; # Safe compartment object $cpt = new Safe ("User"); $cpt->permit(':base_core'); $cpt->reval("open();"); if ("$@" !~ /trapped by operation mask/) { print "Your version of Perl is not op_mask aware.\n"; $@=""; } my $command = "telnet 127.0.0.1"; $User::ssh = new Expect; $User::ssh->spawn("$command"); $User::ssh->exp_internal(0); $cpt->rdo("user.pl"); if ($@) { die "Program error: $@"; } ******** Second program user.pl (call by test.pl in safe mode) print "User Perl script START.\n"; print $ssh "dir\r"; if ($ssh->expect(5,'-re', '\r\n^.*#')) { print "\n", $num++, " done: dir\n"; } else { die "Error: $!\n"; } print "User Perl script END.\n"; ******* Perl version [dummy@eval-hp1 test]$ perl --version This is perl, v5.8.0 built for i386-linux-thread-multi (with 1 registered patch, see perl -V for more detail) Copyright 1987-2002, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.com/, the Perl Home Page. __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |