http://qs1969.pair.com?node_id=1069009


in reply to Perl Expect not matching

The $exp->expect(3,'-re',$match) makes it treat $match as a regexp instead of a string. That causes the ? and [Y/N] to be not properly recognized.

Replies are listed 'Best First'.
Re^2: Perl Expect not matching
by rayvn11 (Initiate) on Jan 02, 2014 at 19:59 UTC
    I've also tried doing it this way, but I get a similar issue.
    unless ($exp->expect(3,"Do you want to unpack these archive files +for processing? [Y/N]:")) {}; print $exp "$response1\r";
    Output is similar, I've tried escaping the ? and brackets as well.
    spawn id(3): list of patterns: #1: -ex `Do you want to unpack these archive files for processing? [ +Y/N]:' spawn id(3): Does `' match: pattern #1: -ex `Do you want to unpack these archive files for proce +ssing? [Y/N]:'? No. Waiting for new data (3 seconds)... TIMEOUT Returning from expect with TIMEOUT or EOF Closing spawn id(3). at /usr/local/share/perl/5.14.2/Expect.pm line 1354 Expect::soft_close('Expect=GLOB(0x96965bc)') called at ./Fullh +ealthprep.pl line 37