You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
(1) |
Nov
(26) |
Dec
(7) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(5) |
Feb
(3) |
Mar
(11) |
Apr
(10) |
May
(2) |
Jun
(5) |
Jul
(13) |
Aug
(2) |
Sep
(3) |
Oct
(10) |
Nov
(18) |
Dec
(29) |
2002 |
Jan
(12) |
Feb
(14) |
Mar
(73) |
Apr
(28) |
May
(21) |
Jun
(39) |
Jul
(40) |
Aug
(42) |
Sep
(20) |
Oct
(4) |
Nov
(9) |
Dec
(18) |
2003 |
Jan
(2) |
Feb
(8) |
Mar
(6) |
Apr
(24) |
May
(24) |
Jun
(14) |
Jul
(16) |
Aug
(36) |
Sep
(34) |
Oct
(23) |
Nov
(4) |
Dec
(15) |
2004 |
Jan
(6) |
Feb
(13) |
Mar
(7) |
Apr
(5) |
May
(11) |
Jun
(5) |
Jul
(4) |
Aug
|
Sep
(2) |
Oct
(16) |
Nov
(4) |
Dec
(9) |
2005 |
Jan
(2) |
Feb
(1) |
Mar
(3) |
Apr
(10) |
May
(5) |
Jun
(13) |
Jul
(3) |
Aug
|
Sep
(7) |
Oct
(5) |
Nov
(1) |
Dec
(9) |
2006 |
Jan
|
Feb
(10) |
Mar
(22) |
Apr
(14) |
May
(5) |
Jun
(4) |
Jul
(19) |
Aug
(7) |
Sep
(16) |
Oct
(4) |
Nov
(1) |
Dec
(16) |
2007 |
Jan
(17) |
Feb
|
Mar
(35) |
Apr
(5) |
May
(20) |
Jun
(11) |
Jul
(33) |
Aug
(3) |
Sep
(2) |
Oct
(11) |
Nov
(23) |
Dec
(5) |
2008 |
Jan
(10) |
Feb
(9) |
Mar
|
Apr
(6) |
May
(8) |
Jun
(7) |
Jul
|
Aug
(3) |
Sep
(2) |
Oct
(1) |
Nov
|
Dec
(20) |
2009 |
Jan
(8) |
Feb
(8) |
Mar
(3) |
Apr
(8) |
May
(2) |
Jun
(11) |
Jul
(2) |
Aug
|
Sep
(3) |
Oct
(1) |
Nov
(7) |
Dec
(4) |
2010 |
Jan
(2) |
Feb
(1) |
Mar
(3) |
Apr
|
May
(2) |
Jun
(2) |
Jul
(7) |
Aug
(3) |
Sep
(7) |
Oct
(2) |
Nov
(1) |
Dec
(4) |
2011 |
Jan
(4) |
Feb
(5) |
Mar
|
Apr
(3) |
May
(2) |
Jun
|
Jul
(6) |
Aug
|
Sep
|
Oct
(6) |
Nov
|
Dec
|
2012 |
Jan
|
Feb
(1) |
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(7) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
(30) |
Apr
(10) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
(12) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(1) |
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: John S. <j.d...@re...> - 2000-12-05 10:50:30
|
On Mon, 4 Dec 2000, John van V. wrote: > $first_rem_session_string = $xpt_ob -> expect ( 5, /.*/ ) ; If you want to match on a regex you'd say $first_rem_session_string = $xpt_ob -> expect ( 5, '-re', '.*' ) ; or $first_rem_session_string = $xpt_ob -> expect ( 5, '-re', qr(.*) ) ; (as documented in the Friendly Manual ;-) hth -- John Stumbles j.d...@re... I.T. Services Centre, University of Reading http://www.rdg.ac.uk/~visstmbl +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ never generalise |
From: John v. V. <joh...@ya...> - 2000-12-04 21:50:56
|
Hi Folks, Please help me here It appears that expect.pm is doing a lot more than I expected. I just want to receive whats coming in from the other side, pass it thru the regular regexp filters I have been using from day one, and send back the appropriate answer. I did look at the docs, and was frankly mystified. Basically this is the perl I was expecting to use: ########### $xpt_ob = new Expect ; $ssh_xpt -> spawn("/opt/ssh/bin/ssh1 -l sys_adm localhost hostname"); $first_rem_session_string = $xpt_ob -> expect ( 5, /.*/ ) ; # Or $first_rem_session_string = $xpt_ob -> the_buffer_with_string_in_it ; if ( $first_rem_session_string =~ /password/ ) { $ssh_xpt -> send $password } elsif ( $first_rem_session_string =~ /yes/no/ ) { $ssh_xpt -> send "yes\r" } else { die $first_rem_session_string } ########### The above is easily supportable. How does python do this kind of stuff ?? Also I serialized the object w/ my data::dumper wrapper and all that appeared was some bless stuff, I was hoping for the buffer string. MyFirstExpect.prl : #!/opt/perl5.5.3/bin/perl # being GBARR released 5.5.3 and 5.4 broke all my IO.pm scripts I'm sticking w/ 5.5.3 use Expect ; use CXN::PersistOB ; #this is just a wrapper for data::dumper $pob = new CXN::PersistOB ; # Optional debugging, explained later. $Expect::Debug=1 ; $Expect::Exp_Internal=1; $Expect::Log_Stdout=0; # On by default. $ssh_session=Expect->spawn("/opt/ssh/bin/ssh1 -l sys_adm localhost hostname"); $remote_ssh_string = $ssh_session->expect(10, /.*/ ); print "<STRING> $remote_ssh_string </STRING>\n" ; print $pob -> serialize( $remote_ssh_session ) ; ################################################################ OUT PUT (??) Spawned '/opt/ssh/bin/ssh1 -l sys_adm localhost hostname' spawn id(3) Pid: 5873 Tty: /dev/pts/19 Starting EXPECT pattern matching... spawn id(3): beginning expect. Timeout: 10 seconds. Current time: 975964131 spawn id(3): list of patterns: #1: -ex `1' Waiting for new data (10 seconds)... spawn id(3): new data. spawn id(3): read 30 byte(s). spawn id(3): Does `sys_adm@127.0.0.1\'s password: ' match: pattern #1: -ex `1'? YES!! Before match string: `sys_adm@' Match string: `1' After match string: `27.0.0.1\'s password: ' Matchlist: () Returning from expect successfully. spawn id(3): accumulator: `27.0.0.1\'s password: ' <STRING> 1 </STRING> $VAR1 = bless( \*Symbol::GEN0, 'Expect' ); Closing spawn id(3). Timed out waiting for an EOF from spawn id(3). spawn id(3) closed. Pid 5873 of spawn id(3) exited, Status: 65280 ===== John van Vlaanderen ############################################# # CXN, Inc. Contact: jo...@th... # # # Proud Sponsor of Perl/Unix of NY # # http://puny.vm.com # ############################################# __________________________________________________ Do You Yahoo!? Yahoo! Shopping - Thousands of Stores. Millions of Products. http://shopping.yahoo.com/ |
From: K. H. <k4...@ya...> - 2000-12-01 22:51:12
|
I have installed the three packages: Expect (1.10), IO::Tty (0.04) and IO::Stty (.02) locally in my account using the commands: perl Makefile PREFIX=$HOME/perl make make install My OS is: HP-UX 10.20 After the installation, I tested the Tty package: bash-2.04$ perl -Mblib try ls Using /home/kk/perl/gz/IO-Tty-0.04/blib Using /home/kk/perl/gz/IO-Tty-0.04/blib From the Child STDIN=0 STDOUT=1 STDERR=2 COPYING Makefile Tty.bs Tty.xs pm_to_blib ChangeLog Makefile.PL Tty.c blib try IO-Tty.ppd Pty.pm Tty.o conf xssubs.c MANIFEST README Tty.pm log Nothing for IO::Pty=GLOB(0x401c0850) i.e. 0 It looks good, I think. but when executing the simple script: #-------------------------------------------------- use lib "$ENV{HOME}/perl/lib/", "$ENV{HOME}/perl/lib/PA-RISC1.1", "$ENV{HOME}/perl/lib/PA-RISC1.1/5.00404", "$ENV{HOME}/perl/lib/contrib", "$ENV{HOME}/perl/lib/contrib/PA-RISC1.1", "$ENV{HOME}/perl/lib/contrib/PA-RISC1.1/auto", "$ENV{HOME}/perl/lib/contrib/PA-RISC1.1/auto/IO", "$ENV{HOME}/perl/lib/contrib/PA-RISC1.1/auto/IO/Stty", "$ENV{HOME}/perl/lib/contrib/PA-RISC1.1/auto/IO/Tty", "$ENV{HOME}/perl/lib/contrib/PA-RISC1.1/auto/Expect", "$ENV{HOME}/perl/lib/contrib/IO"; use Expect; print join("\n- ", @INC), "\n"; print join("\n= ", @ARGV), "\n"; exit 0; #---------- I get the following error messages: bash-2.04$ ./test Can't find 'boot_IO__Tty' symbol in /home/kk/perl/lib/contrib/PA-RISC1.1/auto/IO/Tty/Tty.sl at /home/kk/perl/lib/contrib/IO/Tty.pm line 26 BEGIN failed--compilation aborted at /home/kk/perl/lib/contrib/IO/Pty.pm line 7. BEGIN failed--compilation aborted at /home/kk/perl/lib/contrib/Expect.pm line 19. BEGIN failed--compilation aborted at - line 16. Any Idea what is the problem? Any help is greatly appriciated. Thanks KK. ------------------------------------------------------------------------- Note, I updated the Mekefile.PL and the Tty.xs with the modofications suggested in the message from "Don Simonetta", posted in this list. diff Makefile.PL* 17,28d16 < my $ccflags = $Config{ccflags}; < my $cppflags = $Config{cppflags}; < < if ($Config{osname} eq "dec_osf") { < $ccflags = $ccflags . ' -std1 -D_XOPEN_SOURCE_EXTENDED'; < } < < if (($Config{osname} eq "hpux") && ($Config{archname} eq "PA-RISC2.0")) { < $ccflags = $ccflags . ' +DAportable'; < $cppflags = $cppflags . ' +DAportable'; < } < 74c62 < if( system(split(/s+/, $Config{'cc'}), split(' ',$cppflags) ,'tst.c')) { --- > if( system(split(/s+/, $Config{'cc'}), split(' ',$Config{'cppflags'}),'tst.c')) { 145d132 < 'CCFLAGS' => $ccflags, diff Tty.xs* 103c103 < #if !defined(SVR4) && (defined(__svr4__) || defined(_HPUX_SOURCE) || defined(_PowerMAXOS)) --- > #if !defined(SVR4) && (defined(__svr4__) || defined(_PowerMAXOS)) 231c231 < #if defined(VOIDSIG) || defined(__osf__) || defined(_HPUX_SOURCE) --- > #ifdef VOIDSIG 615d614 < 622,623d620 < < #if !defined(_HPUX_SOURCE) 626d622 < #endif __________________________________________________ Do You Yahoo!? Yahoo! Shopping - Thousands of Stores. Millions of Products. http://shopping.yahoo.com/ |
From: Mark P. <ha...@ar...> - 2000-12-01 14:00:05
|
Hi, In a message posted Nov 27th, Roland says: ] Ah, yes, fixed one bug and introduced another... does this sound familiar? ] ] OK, I guess I have fixed that one now, find a new version attached, which I ] will release next week (if no other bugs creep up). But I can't get at the attachment via the archive. Can somebody send the attachment to me or tell me how to get at it via the archive? Thanks! |
From: Roland G. <Rol...@al...> - 2000-11-27 15:00:03
|
John Stumbles wrote: > Hmmm, this example doesn't seem to work in 1.10 (though I had something > similar working OK in 1.08) > > > How to automate login > > $obj->expect($timeout, > [ > qr'login: $', > sub { > my $fh = shift; > print $fh "$username\r"; exp_continue; > } > ], > [ > 'Password: $', > sub { > my $fh = shift; > print $fh "$password\r"; exp_continue; > } > ], > [ > timeout => > sub { > die "No login.\n"; > } > ], > '-re', qr'[#>:] $', #' wait for shell prompt, then exit expect > ); > > Problem is, it doesn't exit after getting the shell prompt. Ah, yes, fixed one bug and introduced another... does this sound familiar? OK, I guess I have fixed that one now, find a new version attached, which I will release next week (if no other bugs creep up). Cheers, Roland -- RGi...@cp... |
From: John S. <j.d...@re...> - 2000-11-27 12:51:04
|
On Wed, 22 Nov 2000, Roland Giersig wrote: > Seems like the FAQ didn't make it, so I'm resending it... Hmmm, this example doesn't seem to work in 1.10 (though I had something similar working OK in 1.08) > How to automate login $obj->expect($timeout, [ qr'login: $', sub { my $fh = shift; print $fh "$username\r"; exp_continue; } ], [ 'Password: $', sub { my $fh = shift; print $fh "$password\r"; exp_continue; } ], [ timeout => sub { die "No login.\n"; } ], '-re', qr'[#>:] $', #' wait for shell prompt, then exit expect ); Problem is, it doesn't exit after getting the shell prompt. Here's a bit of the script's Exp_Internal dialogue: ... Waiting for new data (9 seconds)... shellprompt> spawn id(4): Does `\r\nLast login: Mon Nov 27 12:31:32 from foo\r\nshellpromppt> ' match: pattern #1: -re `(?-xism:login: $)'? No. pattern #2: -re `Password: $'? No. pattern #4: -re `(?-xism:[#>:] $)'? YES!! Before match string: `\r\nLast login: Mon Nov 27 12:31:32 from foo\r\nshellprompt' Match string: `> ' After match string: `' Matchlist: () Continuing expect, restarting timeout... spawn id(4): Does `' match: pattern #1: -re `(?-xism:login: $)'? No. pattern #2: -re `Password: $'? No. pattern #4: -re `(?-xism:[#>:] $)'? No. Waiting for new data (9 seconds)... TIMEOUT Calling timeout function ARRAY(0xccfec)... No login. So it looks as if it successfully matches the shell prompt, but doesn't exit. regards, -- John Stumbles j.d...@re... I.T. Services Centre, University of Reading http://www.rdg.ac.uk/~visstmbl +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ never generalise |
From: John S. <j.d...@re...> - 2000-11-24 18:26:06
|
On Wed, 22 Nov 2000, Roland Giersig wrote: > Expect v1.09 has been uploaded to CPAN and > Sourceforge (http://sourceforge.net/projects/expectperl/). > > This is a bugfix release: exp_before didn't get set on timeout, OK, I now get something from exp_before after a timeout, but I still don't think the module's working correctly (or maybe I'm missing something) If I do: #!/usr/bin/perl -w use strict; use Expect; print "Expect version ", Expect::version, "\n"; my $EXPECT_OBJECT = Expect->spawn("telnet somehost"); $Expect::Exp_Internal = 1 ; my ($pos, $err, $match, $before, $after) = $EXPECT_OBJECT->expect(9, 'this_will_never_match') ; print STDERR "pos\t[$pos]\nerr\t[$err]\nbefore\t[$before]\nmatch\t[$match]\nafter\t[$after]\n"; print STDERR ("exp_before:\t[", $EXPECT_OBJECT->exp_before(), "]\n") ; - then (see after .sig) I get undefined values from expect, but I do get everything expect received up until the timeout with the exp_before() call. Accordiong to the docs: If called in an array context expect() will return ($matched_pattern_position, $error, $successfully_matching_string, $before_match, and $after_match). ... $error is the error that occurred that caused expect() to return. $error will contain a number followed by a string equivalent expressing the nature of the error. Possible values are undef, indicating no error, '1:TIMEOUT' indicating that $timeout seconds had elapsed without a match, .... I'm not getting the '1:TIMEOUT' string. I would also have exoected to get the same returned from expect() in $before as I get calling exp_before(). regards, -- John Stumbles j.d...@re... I.T. Services Centre, University of Reading http://www.rdg.ac.uk/~visstmbl +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Expect version 1.10 ... Use of uninitialized value at extest.pl line {first print line} Use of uninitialized value at extest.pl line ... Use of uninitialized value at extest.pl line ... ..etc.. pos [] err [] before [] match [] after [] exp_before: [Trying 123.45.6.7... Connected to somehost. Escape character is '^]'. SunOS 5.6 login: ] |
From: <RGi...@cp...> - 2000-11-22 12:29:42
|
It's so sad: Expect 1.09 had a syntax error!! Don't ask me how it slipped through, I tried it with two test scripts that worked, but must have botched when upping the version number for the release... Anyhow, Expect 1.10 has entered CPAN and 1.09 is scheduled for deletion, so I hope there was no major harm done. With humblest apologies, Roland -- RGi...@cp... |
From: Roland G. <Rol...@al...> - 2000-11-22 08:31:32
|
Seems like the FAQ didn't make it, so I'm resending it... Roland -- RGi...@cp... |
From: Roland G. <Rol...@al...> - 2000-11-22 08:26:47
|
Expect v1.09 has been uploaded to CPAN and Sourceforge (http://sourceforge.net/projects/expectperl/). This is a bugfix release: exp_before didn't get set on timeout, the expect call didn't return on matching EOF, spawn didn't die when exec failed, Expect crashed in certain cases. I'm sure there are still other bugs, so keep those problem reports coming! Yes, I know, the documentation is bad, but I have now started a new FAQ (see attachment) that should help until I find the time to give the docs a complete overhaul. Roland -- RGi...@cp... |
From: Roland G. <Rol...@al...> - 2000-11-22 08:06:27
|
Ken Irving wrote: > #!/usr/bin/perl -w > # checkdialtone -- briefly listen to the dialtone ... > Under v1.08 it's timing out in the expect() method: > > ken@moffit:~/src/perl/try $ testExpect.pl > failed connection in cu, 3:Child PID 10025 exited with status 256 Could you please run that with $Expect::Exp_Internal = 1; $Expect::Debug = 1; and send me the output? I don't have `cu', so I cannot run that script, and a similar script with `ls' works for me. Thanks! Roland -- RGi...@cp... |
From: Ken I. <jki...@mo...> - 2000-11-21 19:29:51
|
On Tue, Nov 21, 2000 at 01:09:12PM +0100, Roland Giersig wrote: > Ken Irving wrote: > > I saw a note on clpm mentioning Expect v1.08, so upgraded to it, but > > I find that my scripts using v1.07 fail to work properly. I'm in the > > process of tracking down the difficulty(/ies), and could let you know > > what I find, if that would be helpful. > > Yes, that would be nice, so that I either can fix the incompatibilities > or at least document them. Could you send me some short example > script(s) > that's failing now? Maybe I can spot obvious problems. I'm also trying > to build up a basic testsuite, and backward-compatibility is > important. #!/usr/bin/perl -w # checkdialtone -- briefly listen to the dialtone use strict; # use lib '/tmp/Expect-1.08/'; use Expect; my $cu = Expect->spawn( '/usr/bin/cu', '--port serial1') or die 'unable to open cu'; $cu->log_stdout(0); # avoid having "Connected" echo to STDOUT unless ( $cu->expect(10, 'Connected')) { die 'failed connection in cu, ' . $cu->exp_error() . "\n"; } print $cu "atm1l0d\r"; sleep 0; print $cu "atz\r"; __END__ Under v1.08 it's timing out in the expect() method: ken@moffit:~/src/perl/try $ testExpect.pl failed connection in cu, 3:Child PID 10025 exited with status 256 -- Ken Irving <jki...@mo...> |
From: Roland G. <Rol...@al...> - 2000-11-21 12:09:55
|
Ken Irving wrote: > I saw a note on clpm mentioning Expect v1.08, so upgraded to it, but > I find that my scripts using v1.07 fail to work properly. I'm in the > process of tracking down the difficulty(/ies), and could let you know > what I find, if that would be helpful. Yes, that would be nice, so that I either can fix the incompatibilities or at least document them. Could you send me some short example script(s) that's failing now? Maybe I can spot obvious problems. I'm also trying to build up a basic testsuite, and backward-compatibility is important. > The Changes file says very little, only a mention of "multi-matching", > which I take to be multiline matching; the docs indicates that this > defaults to 1, so I tried changing it to 0, thinking this would revert > to v1.07 behavior, but my problems remain. No, the "multi-match" functionality is something else: you can now expect on several spawned programs at once. There is also a new callback interface that allows to write quite complex state machines in a single expect command. Take this example how to automate login: $obj->expect($timeout, [ qr'login: $', sub { my $fh = shift; print $fh "$username\r"; exp_continue; } ], [ 'Password: $', sub { my $fh = shift; print $fh "$password\r"; exp_continue; } ], [ timeout => sub { die "No login.\n"; } ], '-re', qr'[#>:] $', #' wait for shell prompt, then exit expect ); This is much more elegant than the old interface where you had to do a switch after the expect to see which pattern matched. > Perhaps it would be better to increment the version number by a bit more > than .01 to reflect the extent of changes made? In hindsight, this would have been better. > FWIW, I'm using Linux 2.2.5 system, and still using perl 5.005_02 (maybe > that's the problem?). No, I developed the new version with 5.00502, so that's OK. It's simply that the whole matching engine got twisted a lot, and this breaks backward compatibility. Hope this helps, Roland -- RGi...@cp... |
From: Marco M. <Mar...@co...> - 2000-11-21 07:10:08
|
Don, Yore a champion!! I have made the recommended changes and IO::Tty now works!! Also, as expected, Expect.pm is now working!! Thanks very much for your help and quick response to my problem. The very much appreciative Marco -----Original Message----- From: Don Simonetta [mailto:don...@te...] Sent: Tuesday, 21 November 2000 9:50 To: 'Marco Marinelli'; 'exp...@li...' Subject: RE: [Expectperl-discuss] Problems with IO::Tty on HPUX Here are the changes (in diff format) I made to IO-Tty-0.04 to make it work on hp-ux. The changes are to Makefile.PL & Tty.xs. I have emailed these to Roland, so they should eventually make their way into the official release. BTW: The changes here also fix problems on dec/compaq alpha OSF1. diff Makefile.PL* 17,28d16 < my $ccflags = $Config{ccflags}; < my $cppflags = $Config{cppflags}; < < if ($Config{osname} eq "dec_osf") { < $ccflags = $ccflags . ' -std1 -D_XOPEN_SOURCE_EXTENDED'; < } < < if (($Config{osname} eq "hpux") && ($Config{archname} eq "PA-RISC2.0")) { < $ccflags = $ccflags . ' +DAportable'; < $cppflags = $cppflags . ' +DAportable'; < } < 74c62 < if( system(split(/\s+/, $Config{'cc'}), split(' ',$cppflags) ,'tst.c')) { --- > if( system(split(/\s+/, $Config{'cc'}), split(' ',$Config{'cppflags'}),'tst.c')) { 145d132 < 'CCFLAGS' => $ccflags, diff Tty.xs* 103c103 < #if !defined(SVR4) && (defined(__svr4__) || defined(_HPUX_SOURCE) || defined(_PowerMAXOS)) --- > #if !defined(SVR4) && (defined(__svr4__) || defined(_PowerMAXOS)) 231c231 < #if defined(VOIDSIG) || defined(__osf__) || defined(_HPUX_SOURCE) --- > #ifdef VOIDSIG 615d614 < 622,623d620 < < #if !defined(_HPUX_SOURCE) 626d622 < #endif -----Original Message----- From: Marco Marinelli [mailto:Mar...@co...] Sent: Monday, 20 November 2000 10:45 PM To: 'exp...@li...' Subject: [Expectperl-discuss] Problems with IO::Tty on HPUX I am experiencing problems with the IO::Tty on HPUX 11.0 and 10.20. The IO::Tty module seemed to compile, make & install okay for me but the 'try' program just hangs when run it (note: I experience the same hangs when using Expect.pm) I have tried the sample script in the CPAN IO::Tty module doco and that also hangs (when reading from a tty slave) I am using perl 5.06, Expect 1.08 & IO::Tty 0.04 Here is my test script: ------ #!/usr/bin/perl use IO::Pty; $pty = new IO::Pty; $slave = $pty->slave; foreach $val (1..10) { print $pty "$val\n"; $_ = <$slave>; # I know the script hangs here when trying to read from the slave tty. print "$_"; } close($slave); ##end of test script The following is the end part of a system call trace of this program executing (using tusc): open("/dev/pts/9", O_RDWR|0x800, 0666) ........................... = 4 fstat64(4, 0x400193b0) ........................................... = 0 fcntl(4, F_SETFD, 1) ............................................. = 0 sigsetstatemask(0x17, NULL, 2139032768) .......................... = 0 ioctl(3, TCGETA, 0x7f7f1418) ..................................... ERR#22 EINVAL write(3, "1 \n", 2) .............................................. = 2 ioctl(4, TCGETA, 0x7f7f2d58) ..................................... [sleeping] ##end of trace. Has anyone got IO::Tty (or Expect.pm) running on HPUX??? Any assistance appreciated Marco This email and any attachments may contain privileged and confidential information and are intended for the named addressee only. If you have received this e-mail in error, please notify the sender and delete this e-mail immediately. Any confidentiality, privilege or copyright is not waived or lost because this e-mail has been sent to you in error. It is your responsibility to check this e-mail and any attachments for viruses. _______________________________________________ Expectperl-discuss mailing list Exp...@li... http://lists.sourceforge.net/mailman/listinfo/expectperl-discuss This email and any attachments may contain privileged and confidential information and are intended for the named addressee only. If you have received this e-mail in error, please notify the sender and delete this e-mail immediately. Any confidentiality, privilege or copyright is not waived or lost because this e-mail has been sent to you in error. It is your responsibility to check this e-mail and any attachments for viruses. |
From: Don S. <don...@te...> - 2000-11-20 22:51:25
|
Here are the changes (in diff format) I made to IO-Tty-0.04 to make it work on hp-ux. The changes are to Makefile.PL & Tty.xs. I have emailed these to Roland, so they should eventually make their way into the official release. BTW: The changes here also fix problems on dec/compaq alpha OSF1. diff Makefile.PL* 17,28d16 < my $ccflags = $Config{ccflags}; < my $cppflags = $Config{cppflags}; < < if ($Config{osname} eq "dec_osf") { < $ccflags = $ccflags . ' -std1 -D_XOPEN_SOURCE_EXTENDED'; < } < < if (($Config{osname} eq "hpux") && ($Config{archname} eq "PA-RISC2.0")) { < $ccflags = $ccflags . ' +DAportable'; < $cppflags = $cppflags . ' +DAportable'; < } < 74c62 < if( system(split(/\s+/, $Config{'cc'}), split(' ',$cppflags) ,'tst.c')) { --- > if( system(split(/\s+/, $Config{'cc'}), split(' ',$Config{'cppflags'}),'tst.c')) { 145d132 < 'CCFLAGS' => $ccflags, diff Tty.xs* 103c103 < #if !defined(SVR4) && (defined(__svr4__) || defined(_HPUX_SOURCE) || defined(_PowerMAXOS)) --- > #if !defined(SVR4) && (defined(__svr4__) || defined(_PowerMAXOS)) 231c231 < #if defined(VOIDSIG) || defined(__osf__) || defined(_HPUX_SOURCE) --- > #ifdef VOIDSIG 615d614 < 622,623d620 < < #if !defined(_HPUX_SOURCE) 626d622 < #endif -----Original Message----- From: Marco Marinelli [mailto:Mar...@co...] Sent: Monday, 20 November 2000 10:45 PM To: 'exp...@li...' Subject: [Expectperl-discuss] Problems with IO::Tty on HPUX I am experiencing problems with the IO::Tty on HPUX 11.0 and 10.20. The IO::Tty module seemed to compile, make & install okay for me but the 'try' program just hangs when run it (note: I experience the same hangs when using Expect.pm) I have tried the sample script in the CPAN IO::Tty module doco and that also hangs (when reading from a tty slave) I am using perl 5.06, Expect 1.08 & IO::Tty 0.04 Here is my test script: ------ #!/usr/bin/perl use IO::Pty; $pty = new IO::Pty; $slave = $pty->slave; foreach $val (1..10) { print $pty "$val\n"; $_ = <$slave>; # I know the script hangs here when trying to read from the slave tty. print "$_"; } close($slave); ##end of test script The following is the end part of a system call trace of this program executing (using tusc): open("/dev/pts/9", O_RDWR|0x800, 0666) ........................... = 4 fstat64(4, 0x400193b0) ........................................... = 0 fcntl(4, F_SETFD, 1) ............................................. = 0 sigsetstatemask(0x17, NULL, 2139032768) .......................... = 0 ioctl(3, TCGETA, 0x7f7f1418) ..................................... ERR#22 EINVAL write(3, "1 \n", 2) .............................................. = 2 ioctl(4, TCGETA, 0x7f7f2d58) ..................................... [sleeping] ##end of trace. Has anyone got IO::Tty (or Expect.pm) running on HPUX??? Any assistance appreciated Marco This email and any attachments may contain privileged and confidential information and are intended for the named addressee only. If you have received this e-mail in error, please notify the sender and delete this e-mail immediately. Any confidentiality, privilege or copyright is not waived or lost because this e-mail has been sent to you in error. It is your responsibility to check this e-mail and any attachments for viruses. _______________________________________________ Expectperl-discuss mailing list Exp...@li... http://lists.sourceforge.net/mailman/listinfo/expectperl-discuss |
From: Marco M. <Mar...@co...> - 2000-11-20 12:44:52
|
I am experiencing problems with the IO::Tty on HPUX 11.0 and 10.20. The IO::Tty module seemed to compile, make & install okay for me but the 'try' program just hangs when run it (note: I experience the same hangs when using Expect.pm) I have tried the sample script in the CPAN IO::Tty module doco and that also hangs (when reading from a tty slave) I am using perl 5.06, Expect 1.08 & IO::Tty 0.04 Here is my test script: ------ #!/usr/bin/perl use IO::Pty; $pty = new IO::Pty; $slave = $pty->slave; foreach $val (1..10) { print $pty "$val\n"; $_ = <$slave>; # I know the script hangs here when trying to read from the slave tty. print "$_"; } close($slave); ##end of test script The following is the end part of a system call trace of this program executing (using tusc): open("/dev/pts/9", O_RDWR|0x800, 0666) ........................... = 4 fstat64(4, 0x400193b0) ........................................... = 0 fcntl(4, F_SETFD, 1) ............................................. = 0 sigsetstatemask(0x17, NULL, 2139032768) .......................... = 0 ioctl(3, TCGETA, 0x7f7f1418) ..................................... ERR#22 EINVAL write(3, "1 \n", 2) .............................................. = 2 ioctl(4, TCGETA, 0x7f7f2d58) ..................................... [sleeping] ##end of trace. Has anyone got IO::Tty (or Expect.pm) running on HPUX??? Any assistance appreciated Marco This email and any attachments may contain privileged and confidential information and are intended for the named addressee only. If you have received this e-mail in error, please notify the sender and delete this e-mail immediately. Any confidentiality, privilege or copyright is not waived or lost because this e-mail has been sent to you in error. It is your responsibility to check this e-mail and any attachments for viruses. |
From: Adrian P. <ad...@po...> - 2000-11-16 14:02:49
|
Okay, 1.09b looks to be working for my simple use. A small patch to correct a problem with $exp_cont being undef at the end of the loop. Regards, Adrian -- Your mouse has moved. Windows NT must be restarted for the change to take effect. Reboot now? [OK] *** Expect.pm~ Thu Nov 16 13:56:06 2000 --- Expect.pm Thu Nov 16 13:58:41 2000 *************** *** 727,733 **** } } # end read loop $start_loop_time = time() # restart timeout count ! if ($exp_cont eq exp_continue or $exp_cont eq 'exp_continue'); } # End READLOOP --- 727,733 ---- } } # end read loop $start_loop_time = time() # restart timeout count ! if ($exp_cont && ($exp_cont eq exp_continue or $exp_cont eq 'exp_continue')); } # End READLOOP |
From: Roland G. <Rol...@al...> - 2000-11-16 12:24:25
|
[Arrgh, stop doing multiple things at the same time!!] OK, I forgot the attachment. Here comes... Roland -- RGi...@cp... |
From: Roland G. <Rol...@al...> - 2000-11-16 12:13:16
|
Adrian Phillips wrote: > if ($exp_cont == exp_continue > or $exp_cont eq 'exp_continue' > or $exp_cont eq 'exp_continue_timeout' > or $exp_cont == exp_continue_timeout) { > if ($exp_cont == exp_continue > or $exp_cont eq 'exp_continue') { > print STDERR ("Continuing expect, restarting timeout...\r\n", > ) if ($Expect::Exp_Internal or $Expect::Debug); > $start_loop_time = time() # restart timeout count > } else { > print STDERR ("Continuing expect...\r\n", > ) if ($Expect::Exp_Internal or $Expect::Debug); > } > next READLOOP; > } > > The error message is due to $exp_cont being set to "", the first test > is ==, which will always give an error when using -w (if I recall > correctly). > > Anyway, thats my take on the problem. Any corrections gratefully > accepted. Perfect analysis. That if() should start with if($exp_cont and (...)) OK, I just took the time to patch it all together. Find attached a new version of Expect.pm for all you eager developers out there. Please try it out. If no other bugs come up, I'll then package it up and release it to the masses (next week). Cheers! Roland -- RGi...@cp... |
From: Adrian P. <ad...@po...> - 2000-11-16 11:46:05
|
>>>>> "Adrian" == Adrian Phillips <a.p...@dn...> writes: >>>>> "Roland" == Roland Giersig <Rol...@al...> writes: Roland> Adrian Phillips wrote: >>> The following patch fix a Argument "" isn't numeric in eq >>> message when calling expect with ["-re", "match"], ie. no >>> subroutine is given. Roland> Interesting, somebody else also reported this bug, but I Roland> cannot reproduce it. What version of perl are you Roland> running? Adrian> This is perl, version 5.005_03 built for i386-linux Adrian> This is perl, version 5.005_03 built for aix Right. Correct me if I'm wrong, the logig of that section of code is the following :- # call hook function if defined if ($pattern->[3]) { print STDERR ("Calling hook $pattern->[3]...\r\n", ) if ($Expect::Exp_Internal or $Expect::Debug); if ($#{$pattern} > 3) { # call with parameters if given $exp_cont = &{$pattern->[3]}($exp, @{$pattern}[4..$#{$pattern}]); } else { $exp_cont = &{$pattern->[3]}($exp); } } ** So basically we've got here because no callback has been defined, but $exp_cont is only set to a usefull value if the callback is defined so the patch I sent moves the following block into the previous block. if ($exp_cont == exp_continue or $exp_cont eq 'exp_continue' or $exp_cont eq 'exp_continue_timeout' or $exp_cont == exp_continue_timeout) { if ($exp_cont == exp_continue or $exp_cont eq 'exp_continue') { print STDERR ("Continuing expect, restarting timeout...\r\n", ) if ($Expect::Exp_Internal or $Expect::Debug); $start_loop_time = time() # restart timeout count } else { print STDERR ("Continuing expect...\r\n", ) if ($Expect::Exp_Internal or $Expect::Debug); } next READLOOP; } The error message is due to $exp_cont being set to "", the first test is ==, which will always give an error when using -w (if I recall correctly). Anyway, thats my take on the problem. Any corrections gratefully accepted. Regards, Adrian -- Your mouse has moved. Windows NT must be restarted for the change to take effect. Reboot now? [OK] |
From: Adrian P. <a.p...@dn...> - 2000-11-16 11:35:05
|
>>>>> "Roland" == Roland Giersig <Rol...@al...> writes: Roland> Adrian Phillips wrote: >> The following patch fix a Argument "" isn't numeric in eq >> message when calling expect with ["-re", "match"], ie. no >> subroutine is given. Roland> Interesting, somebody else also reported this bug, but I Roland> cannot reproduce it. What version of perl are you Roland> running? This is perl, version 5.005_03 built for i386-linux This is perl, version 5.005_03 built for aix I'll CC myself at home and try to explain a bit more from there. The line to work is a bit overloaded at the moment so its a bit tedious typing. Regards, Adrian -- Your mouse has moved. Windows NT must be restarted for the change to take effect. Reboot now? [OK] |
From: Roland G. <Rol...@al...> - 2000-11-16 11:12:17
|
Adrian Phillips wrote: > The following patch fix a Argument "" isn't numeric in eq message when > calling expect with ["-re", "match"], ie. no subroutine is > given. Interesting, somebody else also reported this bug, but I cannot reproduce it. What version of perl are you running? > There should possibly be a check to make sure the code is > really code (ref eq "CODE") but I haven't done that. Noted. Thanks! Roland -- RGi...@cp... |
From: Adrian P. <a.p...@dn...> - 2000-11-16 10:51:06
|
Hello again, The following patch fix a Argument "" isn't numeric in eq message when calling expect with ["-re", "match"], ie. no subroutine is given. There should possibly be a check to make sure the code is really code (ref eq "CODE") but I haven't done that. Sincerely, Adrian Phillips -- Your mouse has moved. Windows NT must be restarted for the change to take effect. Reboot now? [OK] *** Expect.pm~ Thu Nov 16 08:38:40 2000 --- Expect.pm Thu Nov 16 11:46:13 2000 *************** *** 616,636 **** } else { $exp_cont = &{$pattern->[3]}($exp); } - } - if ($exp_cont == exp_continue - or $exp_cont eq 'exp_continue' - or $exp_cont eq 'exp_continue_timeout' - or $exp_cont == exp_continue_timeout) { if ($exp_cont == exp_continue ! or $exp_cont eq 'exp_continue') { ! print STDERR ("Continuing expect, restarting timeout...\r\n", ! ) if ($Expect::Exp_Internal or $Expect::Debug); ! $start_loop_time = time() # restart timeout count ! } else { ! print STDERR ("Continuing expect...\r\n", ! ) if ($Expect::Exp_Internal or $Expect::Debug); } - next READLOOP; } last READLOOP; } --- 616,636 ---- } else { $exp_cont = &{$pattern->[3]}($exp); } if ($exp_cont == exp_continue ! or $exp_cont eq 'exp_continue' ! or $exp_cont eq 'exp_continue_timeout' ! or $exp_cont == exp_continue_timeout) { ! if ($exp_cont == exp_continue ! or $exp_cont eq 'exp_continue') { ! print STDERR ("Continuing expect, restarting timeout...\r\n", ! ) if ($Expect::Exp_Internal or $Expect::Debug); ! $start_loop_time = time() # restart timeout count ! } else { ! print STDERR ("Continuing expect...\r\n", ! ) if ($Expect::Exp_Internal or $Expect::Debug); ! } ! next READLOOP; } } last READLOOP; } |
From: Adrian P. <a.p...@dn...> - 2000-11-16 07:53:58
|
Heres another small patch to handle (possibly incorrectly) the situation when exec fails, for example when the command does not exist. Sincerely, Adrian Phillips -- Your mouse has moved. Windows NT must be restarted for the change to take effect. Reboot now? [OK] *** Expect.pm~ Wed Nov 15 12:38:06 2000 --- Expect.pm Thu Nov 16 08:38:40 2000 *************** *** 97,102 **** --- 97,103 ---- open(STDERR,">&". $tty->fileno()) || die "Couldn't redirect STDERR, $!\r\n"; exec (@_); + die ("Unable to exec @_"); # End Child. } |
From: <gl...@ma...> - 2000-11-15 23:39:14
|
Dear All, I originally sent this email to Graham Barr. Then to CPAN, then Roland Giersig. I'm hoping someone here might have a solution. Forwarded message: > > > > I have been unable to build the IO-Tty module on my system. > > > > I have tried on two different Digital Unix systems (4.0f and > > 4.0b), and have tried versions 0.03 and 0.04, all with more > > or less identical results. But it works like a dream on > > linux. > > > > I do: > > # perl Makefile.PL - seems okay, though it does give a > > bogus warning: > > > > Looking for ttyname()....Found > > Have /usr/local/lib/perl-5.6.0/alpha-dec_osf/Config.pm expected /usr/local/stow/perl-5.6.0/lib/5.6.0/alpha-dec_osf/Config.pm > > Your perl and your Config.pm seem to have different ideas about the architecturethey are running on. > > Perl thinks: [alpha-dec_osf] > > Config says: [alpha-dec_osf] > > This may or may not cause problems. Please check your installation of perl if you > > have problems building this extension. > > Writing Makefile for IO::Tty > > > > then > > # make > > > > cc -c -std -fprm d -ieee -D_INTRINSICS -I/usr/local/include -DLANGUAGE_C -O4 > > -DVERSION=\"0.04\" -DXS_VERSION=\"0.04\" -I/usr/local/stow/perl-5.6.0/lib/5 > > .6.0/alpha-dec_osf/CORE -DHAVE_DEV_PTMX -DHAS_TTYNAME Tty.c > > cc: Warning: Tty.xs, line 349: In this statement, the referenced type of the pointer value "func" is "function (int) returning int", which is not compatible with "function (int) returning void". > > sa.sa_handler = func; > > --^ > > cc: Warning: Tty.xs, line 354: In this statement, the referenced type of the pointer value "osa._sa_un._handler" is "function (int) returning void", which is not compatible with "function (int) returning int". > > return osa.sa_handler; > > ---------^ > > cc: Error: xssubs.c, line 732: In this statement, "struct termio" is an incomplete type, and so has no size. > > newCONSTSUB(stash,"TCGETA", newSViv(TCGETA)); > > --------------------------------------------^ > > cc: Error: xssubs.c, line 797: In this statement, "struct termio" is an incomplete type, and so has no size. > > newCONSTSUB(stash,"TCSETA", newSViv(TCSETA)); > > --------------------------------------------^ > > cc: Error: xssubs.c, line 802: In this statement, "struct termio" is an incomplete type, and so has no size. > > newCONSTSUB(stash,"TCSETAF", newSViv(TCSETAF)); > > ---------------------------------------------^ > > cc: Error: xssubs.c, line 807: In this statement, "struct termio" is an incomplete type, and so has no size. > > newCONSTSUB(stash,"TCSETAW", newSViv(TCSETAW)); > > ---------------------------------------------^ > > *** Exit 1 > > Stop. > > > > ========================================== > > > I have noticed that most problems concern compiling > the code on "exotic" platforms (just kidding ;-) ). There > seem to be problems with missing struct definitions and > include files. > > I would suggest that somebody go and check out the original > Tcl/Expect code from Don Libes for those platform-dependent > ways to create a pty. Why re-solve the polygonatic wheels > problems when it is possible to pilfer somebody elses code? > > Right now, I have quite a dense work-load, so please forgive > me if I cannot dive deeper into those problems. But I'm > confident that we'll find solutions if we can find a broader > audience. > > Cheers! > > Roland > -- > Rol...@gm... Any help will be greatly appreciated. Glen :) -- Glen Davison Computer System Administrator ext 7018 email : glen |