spawn id(4): Does ` #00 LOGGED IN NORTEL1 12:02 3/11/2003 \r\n\r\012>logo\r\r\012TTY #00 LOGGED OUT NORTEL1 12:02 3/11/2003 \r\012SESSION DURATION: 00:00 \r\012\r\012>' match: pattern #1: -re `LOGGED OUT.*TTY'? No. pattern #2: -re `LOGGED OUT.*>'? No. #### } elsif ($pattern->[1] eq '-re') { # m// in array context promises to return an empty list # but doesn't if the pattern doesn't contain brackets (), # so we kludge around by adding an empty bracket # at the end. if ($Expect::Multiline_Matching) { @matchlist = (${*$exp}{exp_Accum} =~ m/$pattern->[2]()/m); ($match, $before, $after) = ($&, $`, $'); } else { @matchlist = (${*$exp}{exp_Accum} =~ m/$pattern->[2]()/); ($match, $before, $after) = ($&, $`, $'); } #### #!/usr/bin/perl -w use strict; use warnings; use diagnostics; my $String = "` #00 LOGGED IN NORTEL1 12:02 3/11/2003 \r\n\r\012>logo\r\r\012TTY #00 LOGGED OUT NORTEL1 12:02 3/11/2003 \r\012SESSION DURATION: 00:00 \r\012\r\012>"; my @matchlist = ($String =~ m/(.*LOGGED OUT.*>)/m); print @matchlist;