标签: strawberry-perl

在Strawberry Perl中,perl\lib和perl\site\lib有什么区别?

在Win32 的Strawberry Perl发行版中,perl\lib和之间有什么区别perl\site\lib

安装CPAN模块时perl\site\lib,默认情况下是否都存储了文件?被perl\lib保留用于配备标准的Perl分配模块?

perl strawberry-perl

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

从命令行问题执行Perl

我上周在WinXP上用Strawberry Perl替换了ActivePerl.

我发现我必须用命令运行我的Perl脚本perl myperl.pl; 否则我只需要myperl.pl在安装草莓之前运行.我怎么能myperl.pl像以前一样跑?

我检查了我的环境配置如下.

C:\> Path

C:\Program Files\ActiveState Komodo Edit
5\;C:\Perl\site\bin;C:\Perl\bin;C:\Perl\bin\;C:\Program Files\CodeSynthesis
XSD 3.2\bin\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
C:\Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\Microsoft
SQL Server\90\Tools\binn\;C:\Program Files\Common Files\Thunder Network\KanKan
\Codecs;C:\strawberry\c\bin;C:\strawberry\perl\bin`
Run Code Online (Sandbox Code Playgroud)

安装成功后,Strawberry Perl路径已在Path值中列出.

我错过了什么?谢谢你的建议.

perl command-line strawberry-perl

4
推荐指数
2
解决办法
1853
查看次数

如何使用额外的捆绑模块创建便携式草莓?

便携式草莓perl是天赐之物 - 我可以将它与实际脚本一起捆绑到NSIS安装程序中并让用户双击它.但是,我仍然需要在每个用户的计算机上手动安装脚本所需的CPAN模块.

是否有一种可移植的方式将cpan模块"注入"草莓perl的便携版本?

将便携式草莓放在开发机器上,通过CPAN安装模块并重新压缩以便分发是不是一个好主意?(我想我需要将安装位置修复为c:\ custom-perl或者如果我这样做的话).谁知道更直接的方式?我想我应该将cpan命令编写到安装程序中,但如果用户不必等待20分钟+安装程序(这是编译所有依赖项所需的时间),那就太好了.

perl cpan strawberry-perl

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

草莓perl:没有File :: Tail.pm.CPAN无法安装模块

我正在使用草莓perl来使用它来拖尾文件File::Tail.

我收到以下错误消息:

找不到@INC中的File/Tail.pm(@INC包含:c:\ strawberry\perl\lib C:/ strawberry/perl/site/lib C:/ strawberry/perl/vendor/lib C:/ strawberry/perl/lib.)在tailing.perl第5行.BEGIN失败 - 编译在tailing.perl第5行中止.

三个包包含lib:

  • c:\strawberry\perl\lib
  • C:\strawberry\perl\site\lib
  • C:\strawberry\perl\vendor\lib

c:\strawberry\perlperl安装的根目录在哪里.
我检查了所有三个包,但找不到File/Tail.pm.

使用cpan install,但安装失败.

perl perl-module tail strawberry-perl

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

Eclipse CDT Debug不是可执行格式:草莓安装后无法识别文件格式

也许我遗漏了一些明显的东西,因为我在互联网上搜索了一段时间,但找不到解决以下问题的方法:

我正在使用Eclipse Kepler SP2(Build id:20140224-0627),CDT和MinGW作为编译器后端.用gdb调试C代码一直很好,直到今天(至少我注意到了今天的问题).现在,当我想在调试器中启动一个程序时,我收到以下错误消息:

Error in final launch sequence
Failed to execute MI command:
-file-exec-and-symbols C:/[...]/Debug/test.exe
Error message from debugger back end:
"C:\[...]\Debug\test.exe": not in executable format: File format not recognized
Run Code Online (Sandbox Code Playgroud)

该程序运行良好,所以我想我可能搞砸了一些设置.但是当我尝试调试旧程序时,一切正常,直到我重新编译旧程序 - >同样的问题.如果我要求C向导使用MinGW创建一个新的"Hello World"ANSI C应用程序,则会出现同样的问题.

使用的编译命令是

gcc -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\test.o" "..\\src\\test.c" 
gcc -o test.exe "src\\test.o" 
Run Code Online (Sandbox Code Playgroud)

我之间并没有更新我的MinGW,而是更新了Eclipse.

你有什么指针在哪里寻找问题?

编辑:我刚检查了二进制类型:我的旧项目都是[x86/le],新编译的是[amd64/le].这应该是一个跟踪....将根据进度更新发布.

编辑2:我几天前安装了草莓perl,并且安装程序已将MINGW_HOME原始BUILD SYSTEM中的环境变量更改为c:\strawberry\c,这搞砸了我的构建.将其重置为我c:\MinGW解决了问题.我也会将此作为答案发布.标题和标签已更新,以更直接地指向此问题.

c eclipse mingw eclipse-cdt strawberry-perl

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

为什么Perl中的反引号运算符在Windows上没有引号时无效?

我对Perl很新,所以请原谅我这个问题是微不足道的.

在工作中,我有一个创建脚本的任务,当其他开发人员错过任务的截止日期时,该脚本将发送电子邮件.整个事情必须在Windows上运行,使用Strawberry Perl,我使用windows命令date /T来执行日期检查.我使用反引号运算符调用了很多外部命令,但在这种特殊情况下,反引号不起作用:

my $date = `date /T`;
Run Code Online (Sandbox Code Playgroud)

输出:

date: invalid date `/T'
Run Code Online (Sandbox Code Playgroud)

固定使用一些额外的报价:

 my $date = `"date /T"`
Run Code Online (Sandbox Code Playgroud)

输出:

Mon 07/07/2014
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么?

如果使用反引号的其他外部调用将起作用,我会得到它,但这是我必须以这种方式调用的唯一一个,以使其工作.

perl strawberry-perl

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

Strawberry Perl无法识别OSNAME的特殊变量

我最近在运行Windows 7的PC上将Strawberry Perl从版本5.14.1.1-32bit升级到5.24.0-64bit.我有一个perl脚本我在Windows和Linux下运行,当我使用旧版本命令时

use if $^O eq 'MSWin32' , 'Win32::Console::ANSI';
Run Code Online (Sandbox Code Playgroud)

工作,但现在我已升级我收到错误消息

Unrecognized character \x0F; marked by <-- HERE after use if $<-- HERE near column9 at p:\bin\abc.pl line 31.
Run Code Online (Sandbox Code Playgroud)

有谁知道改变了什么,以及如何让Strawberry Perl的新版本接受命令?提前感谢所有回复的人.

perl ansi strawberry-perl

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

草莓perl,找不到App/Cpan.pm

我安装了32位版本的Strawberry perl(5.14.2.1).我能够运行perl命令.当我运行cpan命令时,我收到以下错误:

Can't locate App/Cpan.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/msys /usr/
lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/msys /usr/lib/perl5/site_perl/5.8
.8 /usr/lib/perl5/site_perl .) at /c/strawberry/perl/bin/cpan line 5.
BEGIN failed--compilation aborted at /c/strawberry/perl/bin/cpan line 5.
Run Code Online (Sandbox Code Playgroud)

我从64位版本迁移到32位版本.cpan当我使用64位版本时,该命令用于工作.

perl strawberry-perl

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

如何使用 Strawberry 在 Windows 上编译 Perl 模块?

这更多的是一个公开的讨论和结论,而不是一个真正的问题,希望它能在某个时候帮助别人。

我正在寻找如何在与互联网断开连接的服务器上制作 Perl 模块(否则答案很简单:使用cpan),所以我唯一的选择是直接在服务器上手动编译从互联网(CPAN 或其他)下载的模块。

问题是,在标准 Windows 服务器上,没有编译器。那么如何制作模块呢?

windows perl compilation perl-module strawberry-perl

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

为什么 Hashref 传递给 Net::Ping 构造函数,在 Net::Ping-&gt;new($args) 之后设置为空 hashref?

我在这里缺少什么?

当像这样向 Net::Ping 传递参数时,在初始化构造函数 Net::Ping->new($args) 后,$args 和 $args_copy 都将被设置为空的 hashref。

use strict;
use warnings;
use Data::Dumper qw(Dumper);
use Net::Ping;

sub _ping {
    my ($args) = @_;
    my $p = Net::Ping->new($args);
    $p->close();
}

my $args      = { proto => 'udp' };
my $args_copy = $args;

print Dumper $args;                         # $VAR1 = { 'proto' => 'udp' }
print Dumper $args_copy;                    # $VAR1 = { 'proto' => 'udp' }
_ping($args);
print Dumper $args;                         # $VAR1 = {}
print Dumper $args_copy;                    # $VAR1 = …
Run Code Online (Sandbox Code Playgroud)

perl ping strawberry-perl

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