summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/IPC/Open2.pm4
-rw-r--r--lib/IPC/Open3.pm6
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;