diff options
Diffstat (limited to 'rhimport.pm')
-rw-r--r-- | rhimport.pm | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/rhimport.pm b/rhimport.pm index d44c34b..6e125d2 100644 --- a/rhimport.pm +++ b/rhimport.pm @@ -327,4 +327,31 @@ sub delete_file return 1; } +sub pv_add_note +{ + my $title = shift; + my $text = shift; + my @script = @_; + + my ($reader, $writer, $error ) = ( new IO::Handle, new IO::Handle, new IO::Handle ); + $writer->autoflush(1); + local $SIG{CHLD} = 'DEFAULT'; + my $pid = open3($writer, $reader, $error, @script); + binmode($reader, ":utf8"); + binmode($writer, ":utf8"); + binmode($error, ":utf8"); + print $writer $title . "\n" . $text; + close $writer; + waitpid $pid, 0; + if ( $? >> 8 ) { + print "\n\nPV: adding note returned non-zero value\n"; + print "STDERR:\n" . join('', <$error>) . "\n"; + print "STDOUT:\n" . join('', <$reader>) . "\n"; + print "Ignoring failed headline import!\n"; + } else { + print join('', <$reader>) . "\n"; + print join('', <$error>) . "\n"; + } +} + 1; |