diff options
-rw-r--r-- | lib/IPC/Open2.pm | 4 | ||||
-rw-r--r-- | lib/IPC/Open3.pm | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/lib/IPC/Open2.pm b/lib/IPC/Open2.pm index 243412ef09..62ec69b335 100644 --- a/lib/IPC/Open2.pm +++ b/lib/IPC/Open2.pm @@ -80,8 +80,8 @@ sub open2 { # force unqualified filehandles into callers' package local($package) = caller; - $dad_rdr =~ s/^[^']+$/$package'$&/ unless ref $dad_rdr; - $dad_wtr =~ s/^[^']+$/$package'$&/ unless ref $dad_wtr; + $dad_rdr =~ s/^([^']+$)/$package'$1/ unless ref $dad_rdr; + $dad_wtr =~ s/^([^']+$)/$package'$1/ unless ref $dad_wtr; local($kid_rdr) = ++$fh; local($kid_wtr) = ++$fh; diff --git a/lib/IPC/Open3.pm b/lib/IPC/Open3.pm index dbf5562028..fc93ab548d 100644 --- a/lib/IPC/Open3.pm +++ b/lib/IPC/Open3.pm @@ -83,9 +83,9 @@ sub open3 { # force unqualified filehandles into callers' package my($package) = caller; - $dad_wtr =~ s/^[^:]+$/$package\:\:$&/ unless ref $dad_wtr; - $dad_rdr =~ s/^[^:]+$/$package\:\:$&/ unless ref $dad_rdr; - $dad_err =~ s/^[^:]+$/$package\:\:$&/ unless ref $dad_err; + $dad_wtr =~ s/^([^:]+$)/$package\:\:$1/ unless ref $dad_wtr; + $dad_rdr =~ s/^([^:]+$)/$package\:\:$1/ unless ref $dad_rdr; + $dad_err =~ s/^([^:]+$)/$package\:\:$1/ unless ref $dad_err; my($kid_rdr) = ++$fh; my($kid_wtr) = ++$fh; |