在写perl的时候,如果要应用到各种平台的话,比如linux 和windows,会遇到各种问题,有时就是要根据系统类型来加载各种库,之前写的就是这样的,
if($^O eq 'linux'){ use XXX::xxx; }elsif($^O eq 'MSWin32'){ use XXX1::xxx1; }结果是错的,perl提示没有找到XXX这个模块,看来,这里用use的话,perl是回去查找XXX的,就算你没有真的使用,那该怎么办? 去网上搜了一下,解决方法就是如果要动态加载库,可以用
if($^O eq 'linux'){ eval "use XXX::xxx"; }elsif($^O eq 'MSWin32'){ eval "use XXX1::xxx1"; }记得在写$^O的时候,居然写成了 $^o,看得出区别吗,下次要细心了,附上 $^O 的各种值及对应的系统类型。
版权声明:本文为博主原创文章,未经博主允许不得转载。