view Lib/IMPL/Test/Straps/ShellExecutor.pm @ 104:196bf443b5e1

DOM::Schema RC0 inflators support, validation and some other things, Minor and major fixes almost for everything. A 'Source' property of the ValidationErrors generated from a NodeSet or a NodeList is subject to change in the future.
author wizard
date Tue, 11 May 2010 02:42:59 +0400
parents 16ada169ca75
children 4267a2ac3d46
line wrap: on
line source

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;