expect_expectlexpect_expectl    (no version information, might be only in CVS) expect_expectl -- Waits until the output from a process matches one
  of the patterns, a specified time period has passed, or an EOF is seen
   Descriptionmixed  expect_expectl ( resource expect, array cases, string &match ) 
   Waits until the output from a process matches one of the patterns,
   a specified time period has passed, or an EOF is seen.
   
   If match is provided, then it is filled with the
   result of search.
   Parameters
    - expect
 
       An Expect stream, previously opened with
       expect_popen().
       - cases
 
       An array of expect cases. Each expect case is an indexed array,
       as described in the following table:
        Table 1. Expect Case Array | Index Key | Value Type | Description | Is Mandatory | Default Value | 
|---|
 | 0 | string | pattern, that will be matched against the output from the stream | yes |   |  | 1 | mixed | value, that will be returned by this function, if the pattern matches | yes |   |  | 2 | integer | 
            pattern type, one of:
            EXP_GLOB,
            EXP_EXACT
            or
            EXP_REGEXP
            | no | EXP_GLOB |  
  
      
  
  Examples
    Example 1. expect_expectl() example 
<?php // Copies file from remote host: ini_set ("expect.timeout", 30);
  $stream = fopen ("expect://scp user@remotehost:/var/log/messages /home/user/messages.txt", "r");
  $cases = array (   array (0 => "password:", 1 => PASSWORD),   array (0 => "yes/no)?", 1 => YESNO) );
  while (true) {  switch (expect_expectl ($stream, $cases))  {   case PASSWORD:    fwrite ($stream, "password\n");    break;
    case YESNO:    fwrite ($stream, "yes\n");    break;
    case EXP_TIMEOUT:   case EXP_EOF:    break 2;      default:    die ("Error has occurred!\n");  } }
  fclose ($stream); ?>
 |  
  |   
   | 
 
 
 |