#!/usr/bin/perl use strict; use warnings; use IPC::Open2; my $pid; eval { $pid = open2(\*OUT, \*IN, qw(perl -ne), '$|=1; print if /hello/i'); }; if ($@ and $@ =~ /^open2:/) { die "$@:$!\n"; } my $sometext = <) { print ":: $_"; }