首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PERL和Komodo

PERL和Komodo
EN

Stack Overflow用户
提问于 2013-12-19 00:32:43
回答 3查看 121关注 0票数 1

我对perl很陌生,我一直在尝试从一本书中学习。我用Komodo来运行脚本。

我正在尝试创建变量,但不是对书中的内容进行编码。

代码语言:javascript
复制
$x=4;

我得写

代码语言:javascript
复制
my $x=4;

否则,我会得到以下错误

代码语言:javascript
复制
Global symbol "$x" requires explicit package name

为什么会这样呢?我能改变一下吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-19 00:35:52

您可以通过不使用use strict;来消除该需求,我不知道您是否看到了错误,因为您有use strict或者Komodo正在为您添加它。

然而,话虽如此,严格使用;。它抓住了各种各样的问题。

这本书似乎在教你Perl 4时代的编码实践。Perl 5是在1994年发布的!买一本更好的书(如现代Perl学习Perl,第6版)!

票数 4
EN

Stack Overflow用户

发布于 2013-12-19 00:40:26

当您直接使用$x时,您使用的是无use strict; --我认为本文将帮助您理解perl作用域的含义。http://perlmaven.com/scope-of-variables-in-perl

票数 0
EN

Stack Overflow用户

发布于 2013-12-19 02:06:26

正如其他人所指出的,有人在您的代码中添加了“严格使用”。这是一件好事,也是一件应该永远做的事情。它捕获了代码中可能存在的许多错误。

但是,请检查您的书,并确保它谈到了myour命令。如果是的话,我会继续写这本书。这是一本初学者的书,而且可能只是让你习惯于编写一些简单的东西,而不用使用很多在Perl中使用的神奇咒语。这样做的目的是让你写出这样的东西:

代码语言:javascript
复制
$x = 4;
print "Your number is $x\n";

现在还行。让你习惯一些事情。给你信心,慢慢地,小心地把你吸引进来,就像一条垂钓者的鱼吸引它的猎物一样。没事的..。Perl很容易..。别担心任何事..。没什么好困惑的..。没有必要在为时已晚之前逃跑..。

那么,SNAP!而且,他们将教您真正的 Perl。

现在,如果您不想将my放在任何地方,只是为了使您的编码示例与书相匹配,那么将这两条语句放在程序的顶部:

代码语言:javascript
复制
no strict;
no warnings;

这将关闭这两个语用学,并让您继续您的书。

就像关闭核电站的紧急备用系统一样。现在你可以全神贯注了,不必一直听那些烦人的警笛响了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20671387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档