为什么Perl没有警告在同一范围内重新声明my()变量?

cod*_*ody 0 perl syntax-error

use strict;

my $world ="52";

my $in = "42" ;

my $world="42";

my $out = "good" ."good";

chop($out);

print $out;
Run Code Online (Sandbox Code Playgroud)

不要担心代码.问题是我使用my $world了两个不同的行,但编译器没有给出任何错误,但如果我们考虑C语言的语法,那么我们将得到错误,因为变量的重新声明.为什么perl没有给重新声明带来任何错误.我还有一个问题:标量变量的大小是多少?

Dav*_*oss 11

1 /变量重新声明不是错误.如果您包含"使用警告",那么您会收到警告.

2 /"标量变量的大小"是指它可以存储的数据量?如果是这种情况,Perl不会施加任意限制.

你好像很快就发布了很多相当简单的问题.你有没有考虑过阅读"学习Perl"

  • 从互联网上学习可能是一个危险的想法.那里有大量不准确和过时的教程.我希望你从http://learn.perl.org/开始. (8认同)

Que*_*tin 5

问题是我的$ world我在两个不同的行中使用它但编译器说没有错误但是对于c我们得到错误作为变量的重新声明,但为什么不在perl中.

仅仅因为Perl不是C,重新定义变量不是错误条件.

它可能是一个意外行为的原因,如果你有use warnings;(如前所述),你会被接受.

标量变量的大小是多少?有什么尺码吗?

定义'大小'.字节?人物?别的什么?你可能在寻找长度