summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/vms/vmspipe.com
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/perl/vms/vmspipe.com')
-rw-r--r--gnu/usr.bin/perl/vms/vmspipe.com20
1 files changed, 20 insertions, 0 deletions
diff --git a/gnu/usr.bin/perl/vms/vmspipe.com b/gnu/usr.bin/perl/vms/vmspipe.com
new file mode 100644
index 00000000000..28caa745e73
--- /dev/null
+++ b/gnu/usr.bin/perl/vms/vmspipe.com
@@ -0,0 +1,20 @@
+$! 'f$verify(0)
+$! --- protect against nonstandard definitions ---
+$ perl_define = "define/nolog"
+$ perl_on = "on error then exit $STATUS"
+$ perl_exit = "exit"
+$ perl_del = "delete"
+$ pif = "if"
+$! --- define i/o redirection (sys$output set by lib$spawn)
+$ pif perl_popen_in .nes. "" then perl_define/user/name_attributes=confine sys$input 'perl_popen_in'
+$ pif perl_popen_err .nes. "" then perl_define/user/name_attributes=confine sys$error 'perl_popen_err'
+$ pif perl_popen_out .nes. "" then perl_define sys$output 'perl_popen_out'
+$ cmd = perl_popen_cmd
+$! --- get rid of global symbols
+$ perl_del/symbol/global perl_popen_in
+$ perl_del/symbol/global perl_popen_err
+$ perl_del/symbol/global perl_popen_out
+$ perl_del/symbol/global perl_popen_cmd
+$ perl_on
+$ 'cmd
+$ perl_exit '$STATUS'