gmarler

IO::Async Expect

Nov 27th, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.58 KB | None | 0 0
  1. #!/usr/bin/env perl
  2.  
  3. use v5.20;
  4. use strict;
  5. use warnings;
  6.  
  7. use IO::Async::Process;
  8.  
  9. use IO::Async::Loop;
  10. my $loop = IO::Async::Loop->new;
  11.  
  12. my $p = IO::Async::Process->new(
  13.   command => [ "/bin/mdb", "-k" ],
  14.   stdio   => { via => "pipe_rdwr",
  15.                on_read => sub { 0 },
  16.              },
  17.  
  18.   on_finish => sub {
  19.     say "mdb exited";
  20.     $loop->stop;
  21.   },
  22. );
  23.  
  24. $loop->add( $p );
  25.  
  26. my $io = $p->stdio;
  27.  
  28. $io->read_until( '>' )->then(
  29.   sub {
  30.     my ($string, $eof) = @_;
  31.     say "Got something";
  32.     #$io->write( '$q' . "\n" );
  33.   }
  34. )->get();
  35.  
  36. $loop->run;
Advertisement
Add Comment
Please, Sign In to add comment