[ic] IPC::Open2 inside GlobalSub

Sam Hui shui@lunamedium.com
Wed, 7 Mar 2001 15:41:28 -0800


Hi,

I'm trying to encrypt some data using a globalsub and an external binary,
but somehow the $data isn't getting out to the $encrypt_cmd via "Writer"
handle.  This code runs perfectly fine on a perl script by itself...  I'm
not getting any errors and using the ::logDebug statements, the code is
being excuted and the $encrypt_cmd is being called.  I know this because
open2 returns a different process id everytime the code runs.  Could someone
shine some light on this?  Much appreciated.

GlobalSub <<EOS
sub encrypt_some_data {

    use FileHandle;
    use IPC::Open2;

    my $rec_data;
    my $pid = eval{
        open2(\*Reader, \*Writer, "$encrypt_cmd");
        Writer->autoflush;
        print Writer "$data";
        close(Writer);

        local($/) = undef;
        $rec_data = <Reader>;
        close(Reader);
    };
    return($rec_data);
}