[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