问题描述
我遇到了一些Perl模块,例如,它们看起来类似于以下代码:
I have come across a few Perl modules that for example look similar to the following code:
package MyPackage;
use strict;
use warnings;
use constant PERL510 => ( $] >= 5.0100 );
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw( );
{ #What is the significance of this curly brace?
my $somevar;
sub Somesub {
#Some code here
}
}
1;
1;
以及包围$somevar
和Sub的花括号的意义是什么?
What is the significance of 1;
and of the curly braces that enclose the $somevar
and the Sub?
推荐答案
1
表示该模块将true
返回到use/require
语句.它可以用来判断模块初始化是否成功.否则,use/require
将失败.
1
at the end of a module means that the module returns true
to use/require
statements. It can be used to tell if module initialization is successful. Otherwise, use/require
will fail.
$somevar
是只能在块内部访问的变量.它用于模拟静态"变量.从Perl 5.10开始,可以使用关键字 state
关键字获得相同的结果:
$somevar
is a variable which is accessable only inside the block. It is used to simulate "static" variables. Starting from Perl 5.10 you can use keyword state
keyword to have the same results:
## Starting from Perl 5.10 you can specify "static" variables directly.
sub Somesub {
state $somevar;
}
这篇关于"1"是什么意思?在Perl中意味着什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!