Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 7th, 2012  |  syntax: None  |  size: 0.56 KB  |  hits: 6  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Perl STDOUT redirection not working in child
  2. open (OUTPUT, '>', $v);
  3. select OUTPUT;
  4. $| = 1;
  5.  
  6. open (SUB, "| sh print_user_input.sh");
  7. print SUB "Hello Worldn";
  8. close(SUB);
  9.  
  10. close(OUTPUT);
  11. select STDOUT;
  12.  
  13. print "Output: $vn";
  14.        
  15. use IPC::Run3 qw( run3 );
  16. run3 [ 'sh', 'print_user_input.sh' ],
  17.    "Hello Worldn",
  18.    my $v;
  19.        
  20. #!/usr/bin/env perl
  21.  
  22. use strict;
  23. use warnings;
  24.  
  25. use IPC::Open2;
  26.  
  27. my $pid = open2( *CHLD_OUT, *CHLD_IN, 'sh print_user_input.sh' );
  28. print CHLD_OUT "Hello Worldn";
  29. close CHLD_OUT;
  30.  
  31. my $output = do { local $/; <CHLD_OUT> };
  32. print "Output: $output";