perl相关内容
我使用 PHP 或 Java 开发应用程序,并将第一次学习 Perl. 对于PHP和Java,有Eclipse等集成开发环境,调试环境规范得很好,但是对于Perl,人们使用什么样的开发环境呢? 有推荐的 IDE 吗? 我更喜欢免费的调试环境. 解决方案 正如思南所说,有一些 Perl 的 IDE.Padre 值得一提.Perl 社区正在积极开发它.
..
我有一个正在运行的 Perl 进程卡住了,我想用调试器戳进去看看有什么问题.我无法重新启动该过程.我可以将调试器附加到正在运行的进程吗?我知道我可以执行 gdb -p,但 gdb 对我没有帮助.我试过 Enbugger,但失败了: $ perl -e 'while (1) {}'&[1] 86836$ gdb -p 86836…附加到进程 86836.共享库的读取符号.完毕读取共享库的符号...
..
如何复制包含子目录的目录,不包括与 Windows 系统上的某个正则表达式匹配的文件或目录? 解决方案 我会这样做: 使用 File::Copy;子复制递归{我的 ($from_dir, $to_dir, $regex) = @_;opendir my($dh), $from_dir or die "无法打开 dir '$from_dir': $!";对于我的 $entry (readd
..
我的 XML 文件如下所示:
..
..
我对 File::Find 文档有点困惑... $ find my_dir -maxdepth 2 -name "*.txt" 的等价物是什么? 解决方案 我个人更喜欢 File::Find::Rule 因为这不需要你创建回调例程. 使用严格;使用 Data::Dumper;使用文件::查找::规则;我的 $dir = 班次;我的 $level = shift//2;我的@files =
..
好的,所以我遇到了一个看起来像这样的代码 @documents_names = 排序 {!!$deleted_documents_names{$a} == !!$deleted_documents_names{$b}?uc($a) cmp uc($b): !!$deleted_documents_names{$a}cmp !!$deleted_documents_names{$b}} @docu
..
我正在执行以下操作,但无法正常工作: my $enabled = $hash &&$hash->{'key'} &&$hash->{'key'}->{'enabled'} &&$hash->{'key'}->{'active'}; 这是将布尔值分配给标量变量的可接受方式吗?我的代码以奇怪的方式行为不端,我相信这是因为这个任务.我已经验证了所有这些键都存在单独的值并设置为一个值. 附:对
..
在标量(布尔)上下文中计算表达式时,如果表达式计算结果为真,Perl 使用显式值 1 作为结果,如果表达式计算结果为假,则使用空字符串.我很好奇为什么 Perl 使用空字符串来表示布尔 false 值而不是 0 看起来更直观. 请注意,我不关心 Perl 在标量(布尔)上下文中将空字符串视为 false. 编辑 使用为真的字符串(例如"false")作为假值的字符串表示会如何改变
..
谁能解释一下字符串“0 but true"在 Perl 中的确切含义?据我了解,它在整数比较中等于零,但在用作布尔值时评估为真.这个对吗?这是语言的正常行为,还是在解释器中被视为特殊情况的特殊字符串? 解决方案 这是语言的正常行为.引用 perlsyn 手册页: 数字0,字符串'0'和"",空列表(),和 undef在布尔上下文中都是错误的.所有其他值都为真.否定! 或 not 的真
..
在下面的代码中,来自 Alias 的 博文,我注意到使用了双感叹号 !!.我想知道这意味着什么,以及将来我可以去哪里寻找这样的 Perl 语法的解释.(是的,我已经在 perlsyn 搜索了 !!. 包Foo;使用变量 qw{$DEBUG};开始 {$DEBUG = 0 除非已定义 $DEBUG;}使用常量 DEBUG =>!!$调试;子富{debug('In sub foo') if DEBU
..
我正在尝试了解我获得的性能数据以及如何确定最佳线程数. 查看这篇文章的底部了解我的结果 我在 perl 中编写了一个实验性的多线程 Web 客户端,它下载一个页面,获取每个图像标签的源并下载图像 - 丢弃数据. 它使用非阻塞连接,每个文件的初始超时时间为 10 秒,每次超时后加倍并重试.它还缓存 IP 地址,因此每个线程只需进行一次 DNS 查找. 从 1 线程耗时 2:
..
这是我的场景: A 是配置服务器,B 是客户端.每当 B 的设置发生任何变化时,它都会将相应的配置文件上传到 A. 我是一名自动化工程师,致力于实现自动化.一种情况是断开 A 与网络的连接或停止服务器 A.对 B 执行一些更改并确保 B 无法将文件上传到配置服务器 A. 要使其自动化,停止服务器 A 并执行适当操作的简单方法. 由于 A 和 B 也被其他方用于其他目的,所以
..
我想将 perl 脚本的输出返回到网页.但是它只返回最后一行. Perl 脚本: 我的 $directory = $ARGV[0];打开目录(目录,$目录);我的@files = grep {/\.txt$/} readdir(DIR);关闭(目录);foreach(@files) {打印 $_."\n";} PHP 代码: $perl_result = exec("perl $scr
..
我在 Perl 中使用了 CPAN Perl 模块 Data::Printer (DP).效果很好. 现在我想在 Raku 代码中使用它. 当我使用 :from 功能导入它然后使用它运行代码时,注释 (tied to Perl6::Hash) 被附加到哈希的显示.1 正如 DP 的 CPAN 文档 所示,此注释由选项 show_tied 控制.我想将其 off(设置
..
如果这不可能,那么处理源自 UTF-8 编码 POD 的手册页的最佳做法是什么? 为了在 POD 中使用 Unicode,首先要做的是使用指令 =编码 UTF-8 (如 此处所述).pod2text 和 pod2html 工具可以正常工作并产生完美的 UTF-8 编码输出. pod2man 工具却没有: pod2man -u MyModule.pm |nroff -Tutf8 -
..
我需要在我的 perl 文档中使用 utf-8 字符.如果我使用: perldoc MyMod.pm 我看到奇怪的字符.如果我使用: pod2text MyMod.pm 一切都很好. 我使用 Ubuntu/Debian. $ 语言环境LANG=de_DE.UTF-8LC_CTYPE="de_DE.UTF-8"LC_NUMERIC="de_DE.UTF-8"LC_TIME="de_D
..
Perl: $string =~ s/[áàâã]/a/gi;#此行总是在前面加上一个“a"$string =~ s/[éèêë]/e/gi;$string =~ s/[úùûü]/u/gi; 这个正则表达式应该将“été"转换成“ete".相反,它将其转换为“aetae".换句话说,它为每个匹配的元素添加一个“a".甚至“à"也被转换为“aa". 如果我把第一行改成这个 $strin
..
我有以下 Perl 脚本.我正在尝试使用 ActivePerl 在 Windows 7 中运行它: #!c:\Perl64\bin\perl.exe -w使用严格;我的 $mp3splt_exe = 'c:\Program Files (x86)\mp3splt\mp3splt.exe';我的 $mp3splt_args = '-o "@n @f" -g "r%[@o @N]" -f -t 6.
..
我正在使用 SGE(Sun Grid Engine)将作业提交到网格.我还使用 perlbrew 来管理我安装的 Perl 版本.我编写了一些简短的 sh 脚本,用于运行需要特定 Perl 版本 (5.12.2) 的 perl 脚本,如下所示: #!/bin/bash#$-S/bin/bash源/home/dave/.bash_profile/home/dave/perl5/perlbrew/b
..