Tag: perl

在Perl中查找数组的大小

我似乎遇到了几种不同的方法来查找数组的大小。 这三种方法有什么区别? my @arr = (2); print scalar @arr; # First way to print array size print $#arr; # Second way to print array size my $arrSize = @arr; print $arrSize; # Third way to print array size

Perl,Python,AWK和sed有什么区别?

只是想知道它们之间的主要区别是什么? 和每种语言的力量(在哪里使用它更好)。 编辑:这不是“对” 就像话题,只是信息。

我怎样才能启动一个Perl的交互式控制台?

如何启动Perl的交互式控制台,类似于Ruby的Python命令或python的Python?

如何摆脱Perl中的循环?

我试图在for循环中使用break语句,但由于我在我的Perl代码中也使用了严格的subs,所以我得到一个错误: 在./final.pl第154行使用“strict subs”时不允许使用Bareword“break”。 有没有解决这个(除了禁用严格的潜艇)? 我的代码格式如下: for my $entry (@array){ if ($string eq "text"){ break; } }

为什么这个程序有效? 我试图创build一个语法错误

我在Windows 7上运行32位的ActiveState 5.14.2。我想混乱一个git pre-commit钩子来检测正在检查的语法错误的程序。 (不知怎的,我只是设法做了这样一个不好的承诺。)所以作为一个testing程序,我随机记下这个: use strict; use warnings; Syntax error! exit 0; 但是,它编译和执行时没有警告,出错时errorlevel为零。 这个有效的语法如何?

为什么现代Perl默认避免使用UTF-8?

我想知道为什么使用Perl构build的大多数现代解决scheme默认情况下都不启用UTF-8 。 我知道核心Perl脚本有很多遗留问题,它们可能会破坏一些东西。 但是从我的观点来看,在21世纪,大的新项目(或者大视angular的项目)应该从头开始对其软件进行UTF-8validation。 我仍然没有看到它发生。 例如, 穆斯启用严格和警告,但不是Unicode 。 Modern :: Perl也减less了样板,但没有UTF-8处理。 为什么? 在2011年的现代Perl项目中是否有避免使用UTF-8的理由? 评论@ tchrist太长了,所以我在这里添加它。 我似乎没有说清楚。 让我尝试添加一些东西。 tchrist和我看到的情况差不多,但是我们的结论是完全相反的。 我同意,Unicode的情况是复杂的,但这就是为什么我们(Perl用户和编码器)需要一些使得UTF-8处理像现在一样容易的层(或杂注)。 特里斯特指出了很多方面,我会在几天甚至几周的时间里阅读和思考它们。 不过,这不是我的观点。 tchrist试图certificate没有一个单一的方式“启用UTF-8”。 我没有那么多的知识来解决这个问题。 所以,我坚持活的例子。 我玩Rakudo和UTF-8只是在那里, 因为我需要 。 我没有任何问题,只是工作。 也许有更深的一些限制,但在开始时,我所testing的所有工作正如我所料。 这不应该成为现代Perl 5的目标吗? 我强调一下:我并不是build议使用UTF-8作为核心Perl的默认字符集,我build议可以为那些开发新项目的人简单地触发它。 另一个例子,但用更负面的语气。 框架应该使开发更容易。 几年前,我尝试了一些网页框架,但只是把它们扔掉了,因为“启用UTF-8”是如此晦涩难懂。 我没有find如何以及在哪里挂钩的Unicode支持。 这是非常耗时的,我发现更容易走老路。 现在我在这里看到了与Mason 2相同的问题: 如何使Mason2 UTF-8变得干净? 。 所以,这是一个相当新的框架,但是使用它与UTF-8需要深入的内部知识。 它就像一个大红色的标志:停下来,不要使用我! 我真的很喜欢Perl。 但处理Unicode是痛苦的。 我仍然发现自己跑在墙上。 某种方式tchrist是正确的,并且回答我的问题:新项目不吸引UTF-8,因为它在Perl 5中太复杂了。

如何在不在@INC的目录中使用Perl模块?

我在我的脚本的父目录中有一个模块,我想“使用”它。 如果我做 use '../Foo.pm'; 我得到语法错误。 我试图做到: push @INC, '..'; use EPMS; .. ..显然不出现在@INC 我要疯了! 这里有什么问题?

Perl标志-pe,-pi,-p,-w,-d,-i,-t?

我看过很多运行Perl代码或脚本的方法,它们有不同的标志。 但是,当我尝试谷歌每个国旗意味着什么,我主要得到的结果通用的Perl网站,没有关于标志或他们的使用的具体信息在那里被发现。 下面是我经常遇到的旗帜,我不知道他们的意思: perl -pe perl -pi perl -p perl -w perl -d perl -i perl -t 如果你告诉我这些意味着什么,并且给他们一些用例,或者至less告诉我一个找出他们意思的方法,我将不胜感激。

你如何在Perl中使用浮点数?

我如何将十进制数(浮点数)四舍五入到最接近的整数? 例如 1.2 = 1 1.7 = 2

如果它是文件中的最后一个字符,如何删除换行符?

我有一些文件,如果它是文件中的最后一个字符,我想删除最后一个换行符。 od -c显示我运行的命令是用一个新的尾行写入文件: 0013600 nt > \n 我已经尝试了一些与sed技巧,但最好的我可以想到的是不是在做的伎俩: sed -e '$s/\(.*\)\n$/\1/' abc 任何想法如何做到这一点?