diff Lib/IMPL/Test/Straps/ShellExecutor.pm @ 0:03e58a454b20

Создан репозитарий
author Sergey
date Tue, 14 Jul 2009 12:54:37 +0400
parents
children 16ada169ca75
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Lib/IMPL/Test/Straps/ShellExecutor.pm	Tue Jul 14 12:54:37 2009 +0400
@@ -0,0 +1,32 @@
+package IMPL::Test::Straps::ShellExecutor;
+use strict;
+use warnings;
+
+use base 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;