标签: perl-package

Perl分销单位的名​​称是什么?

包是命名空间.Module是一个包含Perl代码的文件.cpan并且cpanm很可能是包管理器.我什么时候cpanm XML::LibXML安装到底是什么?

perl terminology package-managers package perl-package

4
推荐指数
1
解决办法
95
查看次数

使用`strict`在Perl中定义全局变量

我有以下包/文件结构:第一个:

# package1
package Package1;

use strict;
use warnings;

my @array = (1, 2, 3, 4);

return 1;
Run Code Online (Sandbox Code Playgroud)

第二个:

use strict;
use warnings;
use package1;

foreach $a (@array)
{
    print $a;    
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我有以下错误:

全局符号"@array"需要Package1.pm中的显式包名称

我试图定义@arrayour,但它没有帮助.我也不能将它定义为公正@array,因为strict.

有没有合法的方法来制作全局变量strict

perl global-variables perl-package

2
推荐指数
1
解决办法
2523
查看次数

perl tk - 如何在执行perl模块中的过程时保持GUI处于活动状态

我有一个perl tk例程,从导入的perl模块调用一个过程.GUI正在执行子程序时挂起.这是我正在使用的代码摘录.有人可以建议一个更好的方法来执行此操作,以便在程序运行时GUI处于活动状态吗?

use Tk;
use package1;


$mw = MainWindow->new;
$mw->geometry("+10+10");
$mw->title("My notebook GUI");
my $mwFrame = $mw->Frame(-borderwidth => 2, -relief => 'ridge')->pack(-fill=> 'none',-fil=> 'x');
my $nb = $mwFrame->NoteBook(-dynamicgeometry => 'true',-ipadx => 20, -ipady => 20)->pack(-expand => 1,-fill => 'both');             
$page1 = $nb->add( 'Page1',     -label => 'Page 1' );
$page2 = $nb->add( 'Page2',     -label => 'Page 2' );
    $page1->pack();
    $page2->pack();

    $button1 = $page1->Button(-text => "Not Selected", -background => 'gray', -state => 'disabled')->pack(-side => 'right', -expand => 0);
    $button2 = $page2->Button(-text => …
Run Code Online (Sandbox Code Playgroud)

perl user-interface tk-toolkit perltk perl-package

1
推荐指数
1
解决办法
738
查看次数

安装了Perl包但仍然看到错误

我刚刚使用"如何安装.pm运行perl脚本"问题中描述的说明在我的系统中安装了软件包

现在,我正在尝试运行Perl脚本但是我仍然看到以下错误:

Win32::OLE operating in debugging mode: _Unique => 1
 at C:/Dwimperl/perl/site/lib/Win32/OLE/Lite.pm line 30
        require Win32/OLE/Lite.pm called at C:/Dwimperl/perl/site/lib/Win32/OLE.pm line 48
        require Win32/OLE.pm called at C:\Users\c_desaik\Desktop\pwrdb\offtarget\pwrdb.pl line 37
        main::BEGIN() called at C:/Dwimperl/perl/site/lib/Win32/OLE/Lite.pm line 0
        eval {...} called at C:/Dwimperl/perl/site/lib/Win32/OLE/Lite.pm line 0
main::(C:\Users\c_desaik\Desktop\pwrdb\offtarget\pwrdb.pl:53):

53:     my $prod_id = "QPSTAtmnServer.Application";
  DB<1>
Run Code Online (Sandbox Code Playgroud)

我实际上可以在该位置看到OLE.PM文件,C:/Dwimperl/perl/site/lib/Win32/OLE但它仍然抛出错误.

我没有复制模块,我使用CPAN安装它.

我很困惑,因为有两个地方我看到一个OLE文件夹

  • C:\strawberry\perl\site\lib
  • C:/Dwimperl/perl/site/lib/Win32/OLE

通常,当我安装某些东西时,它只有一个根目录.我不确定为什么Perl是由其中两个操作的.

perl strawberry-perl perl-package

1
推荐指数
1
解决办法
312
查看次数