diff lib/IMPL/Test/Straps/ShellExecutor.pm @ 407:c6e90e02dd17 ref20150831

renamed Lib->lib
author cin
date Fri, 04 Sep 2015 19:40:23 +0300
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/IMPL/Test/Straps/ShellExecutor.pm	Fri Sep 04 19:40:23 2015 +0300
@@ -0,0 +1,32 @@
+package IMPL::Test::Straps::ShellExecutor;
+use strict;
+use warnings;
+
+use parent qw(IMPL::Object IMPL::Object::Serializable);
+
+if ($^O =~ /win32/i) {
+    require Win32::Console;
+}
+
+sub Execute {
+    my ($this,$file) = @_;
+    
+    my $h;
+    
+    if ($^O =~ /win32/i) {
+        Win32::Console::OutputCP(65001);
+        unless ( open $h,'-|',$file ) {
+           return undef;
+        }
+        binmode $h,':encoding(utf-8)';
+    } else {
+        unless ( open $h,'-|',$file ) {
+            return undef;
+        }
+    }
+    
+    return $h; 
+}
+
+
+1;