use IPC::Open2; local (*READ, *WRITE); my $pid = open2(\*READ, \*WRITE, "/path/and/bashscript.sh"); #here I tried various ways to "pump" data via *READ and *WRITE but without success waitpid( $pid, 0 ); #### use IPC::Open2; my $pid = open2(">&STDOUT", "<&STDIN", "/path/and/bashscript.sh"); #bashscript in its turn containing a gawk-script. waitpid( $pid, 0 );