[Moscow.pm] use Module в зависимости от Os

Nikolay Mishin mi на ya.ru
Пн Окт 28 08:08:24 PDT 2013


Так что ли

BEGIN {
    use Devel::CheckOS qw(os_is);
    if ( os_is('Unix') ) {
        eval q[ use open ':locale';];
    }
}

https://github.com/mishin/gists/blob/master/trans.pl

p.s.
Mons, кстати твой код не работает
  require open;
  open->import(":locale") 

p.s. # can't use require_ok() here, with a name like 'open'
ok( require 'open.pm', 'requiring open' ); из https://metacpan.org/source/JHI/perl-5.8.0/lib/open.t

работает так:

BEGIN {
 require 'open.pm';
	 if ( $^O ne 'Win32' ) {
	 open::import('open','locale');
    }
}


ну я еще люблю модули, поэтому так

BEGIN {
    use Devel::CheckOS qw(os_is);
    require 'open.pm';
    if ( os_is('Unix') ) {
        open::import( 'open', 'locale' );
    }
}

https://github.com/mishin/gists/blob/master/trans.pl



28.10.2013, 17:17, "Олег Алексеенков" <proler на gmail.com>:
> Nikolay Mishin <mi на ya.ru> писал(а) в своём письме Mon, 28 Oct 2013
> 17:10:27 +0400:
>
> в eval ""
>
>>  Moscow PM,привет!!
>>
>>  есть скрипт, в котором написано
>>
>>  use open ':locale';
>>
>>  в unix все работает
>>
>>  в win32
>>
>>  Cannot figure out an encoding to use at trans.pl line 25
>>
>>  как сделать так, чтобы use использовалась взависимости от OS
>>
>>  в BEGIN что-ли запихнуть?
>>
>>  use Devel::CheckOS qw(os_is);
>>
>>  BEGIN {
>>  if ( os_is('Unix') ) {
>>
>>  use open ':locale';
>>  }
>>  }
>>
>>  https://github.com/mishin/gists/blob/master/trans.pl
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org

-- 
С уважением
Николай Мишин



Подробная информация о списке рассылки Moscow-pm