[Moscow.pm] use Module в зависимости от Os
Mons Anderson
mons на cpan.org
Пн Окт 28 09:40:24 PDT 2013
ну тогда напиши
use open ();
BEGIN { if (…) { "open"->import(":locale"); } }
просто трактуется как вызов CORE::open(...)
On 28.10.2013, at 19:08, Nikolay Mishin <mi на ya.ru> wrote:
> Так что ли
>
> 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 mailing list
> moscow-pm на pm.org | http://moscow.pm.org
Подробная информация о списке рассылки Moscow-pm