Tag: perl

我和我们在Perl中有什么区别?

我知道my在Perl中是什么。 它定义了一个只存在于其定义块的范围内的variables。 our做什么? our与my什么不同?

寻求澄清弱types语言的明显矛盾

我认为我理解强打字 ,但每次我寻找什么是弱打字的例子,我最终find了编程语言的例子,只是强迫/自动转换types。 例如,在这个名为Typing:Strong vs. Weak的文章中,Static和Dynamic表示Python是强types的,因为如果您尝试: python 1 + "1" Traceback (most recent call last): File "", line 1, in ? TypeError: unsupported operand type(s) for +: 'int' and 'str' 但是,Java和C#中可能会出现这种情况,我们并不认为它们的input很弱。 Java的 int a = 10; String b = "b"; String result = a + b; System.out.println(result); C# int a = 10; string b = "b"; […]

哪一个是好的练习,一个词法文件句柄还是一个typeglob?

有人说,我们应该使用一个词法文件句柄,而不是一个typeglob,像这样: open $fh, $filename; 但是大多数Perl书籍,包括The Llama Book ,都使用了一个typeglob,像这样: open LOGFILE, $filename; 那么有什么区别呢? 哪一个被认为是更好的做法?

R有像Perl的qw()这样的引用类运算符吗?

任何人都知道,如果R有像Perl的qw()这样的引用运算符来生成字符向量?

ASCII“图像”中的“垂直”正则expression式匹配

注意:这是关于现代正则expression式可能性的一个问题。 这不是用其他方法解决这个问题的最好方法。 它的灵感来自一个较早的问题 ,但不限于正则expression式。 问题 在ASCII“图像”/艺术/地图/string,如: ….X……. ..X..X…X…. XX..X..X….. X….XXXXXX….. X..XXX……….. …..X………. …………..X ..X………..X…. ..X………..X….X… ….X….. 我想找一个简单的垂直线形成三个X s: X X X 图像中的行数是可变的, 每行的宽度也是可变的。 问题(S) 使用正则expression式(PCRE / PHP,Perl,.NET或类似的)有可能: 确定这样的编队是否存在 统计这种编队的数量/匹配他们的出发点(在上面的例子中是4)

我怎样才能在Linux中运行一个Perl脚本作为系统守护进程?

在Linux中获取Perl脚本作为守护进程运行的简单方法是什么? 目前,这是在CentOS上。 我希望它启动与系统和closures与系统,所以一些/etc/rc.d/init.d集成也不错,但我总是可以添加一个自定义行到/etc/rc.d/rc.local 。

如何从Gmail下载所有含附件的电子邮件?

如何连接到Gmail并确定哪些邮件具有附件? 然后,我想要下载每个附件,并在处理它时打印出每个消息的Subject:和From:。

使用Perl的两个数组的差异

我有两个数组。 我需要检查一下其中一个元素是否出现在另一个元素中。 有没有比嵌套循环更有效的方法吗? 我有几千个元素,需要经常运行程序。

Perl中的散列和散列引用有什么区别?

我想正确理解Perl中的哈希。 我不得不间歇地使用Perl一段时间,大多数时候我需要这样做,这主要与文本处理有关。 每一次,我都必须处理哈希,它会变得混乱。 我发现哈希的语法非常隐秘 散列和散列引用的一个很好的解释,它们的区别,当它们是需要的时候,将非常感激。

而(1)比。 for(;;)有速度差吗?

长版… while (1)在Perl脚本中使用while (1) for (;;)的速度更快,这for (;;)一名同事今天声称的。 我认为他们应该也是希望翻译能够优化任何差异。 我build立了一个循环迭代运行10亿次的脚本,以及相同数量的while循环,并logging它们之间的时间。 我无法find可观的区别。 我的同事说,一位教授告诉他, while (1)正在做一个比较1 == 1 , for (;;)不是。 我们使用C ++重复了100次的迭代次数,差异可以忽略不计。 然而,这是一个graphics化的例子,说明编译代码与脚本语言相比有多快。 短版… 如果你需要一个无限循环来打破,那么有没有什么理由更喜欢while (1)一个for (;;) ? 注意:如果问题不清楚。 这纯粹是几个朋友之间有趣的学术讨论。 我意识到这不是一个所有程序员都应该为之苦恼的超级重要的概念。 感谢所有伟大的答案(我确信其他人)从这个讨论中学到了一些东西。 更新:上面提到的同事在下面回答了一个答案。 引用这里,以防被埋葬。 它来自AMD程序员。 他表示,C程序员(人员)没有意识到他们的代码效率低下。 他今天说,海湾合作委员会的编译器是非常好的,并把像他这样的人停业。 他举例说,并且告诉了我关于while 1 vs for(;;) 。 我现在习惯使用它,但gcc,特别是解释器,现在都做同样的操作(处理器跳转),因为它们被优化了。