| 
| expect_expectl expect_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);
 ?>
 | 
 | 
 |  |