Perl,ppm,并尝试下载模块依赖项

时间:2011-01-21 23:09:59

标签: perl ppm

我安装了Strawberry Perl和PPM。我并不陌生从CPAN手动安装模块,但最近进入了一种情况,其中一个模块需要一个依赖,并且 - 依赖需要二十个..

所以我决定给PPM一个旋转(因为它会自动安装依赖项,对吗?),我最初认为它像Ruby Gems一样工作。我加载它并输入:

ppm> install OLE::Storage_Lite

来自tutorial

然后我遇到了问题'找不到PPD文件'。

所以我按照这个tutorial引导你连接到一个存储库的链接,它仍然找不到PPD文件。

我的问题是:任何人都可以帮我加载一个Perl模块,这样我就可以从Excel文件中读取和写入了吗?

解决:我的问题原来是工作中的代理服务器,不允许我通过PPM下载软件包。

1 个答案:

答案 0 :(得分:3)

两件事:

  1. CPAN也可以安装依赖项! :)只需在命令行上执行cpan install My::Module即可安装模块及其依赖项。
  2. 请改用Win32::OLE
  3. Win32::OLE是用于与Windows中的COM和OLE对象进行交互的标准模块,它运行良好。它已经包含在Strawberry Perl中,效果很好!您只需要查看有关Perl和'OLE Automation'的文档。它看起来像这样:

    use strict;
    use warnings;
    use Win32::OLE; 
    use Win32::OLE::Const 'Microsoft Excel';  # brin in Excel constants
    
    my $excel = Win32::OLE->new('Excel.Application') or die "oops\n";
    

    事实上,如果您查看有关CPAN的Win32::OLE文档,您会看到他们在如何使Excel自动化工作方面有几个例子。

    之后,快速搜索“Excel OLE Automation”将会显示许多教程,向您展示调用Excel所需的所有方法以及Excel的怪癖。但在那之后,它非常直接!一些例子:

    my $sheet = $excel->Worksheets(1);  #Gets the first worksheet, 1 indexed
    $sheet->Cells($row, $col); # do something to a cell 
    $sheet->Columns("A:D");    # do something to some columns
    $sheet->Rows($row_number); # do something to a row
    

    显然还有更多(excel API非常庞大),但这应该会开始。