perl中的$a和$b介绍_perl

即使打开了strict和warnings选项也无妨,下面代码并无错误和警告。

复制代码 代码如下:

#!/usr/bin/perl
use strict;
use warnings;
sub test {
    $a = 1;
    $b = 2;
    print $a, "\n";
    print $b, "\n";
}
test();
1;

下面是perl文档中对这两个变量的解释:

perldoc perlvar
$a
$b Special package variables when using sort(), see "sort" in perlfunc. 
Because of this specialness $a and $b don't need to be declared (using use vars, or our()) even when using the "strict 'vars'" pragma.  Don't lexicalize them with "my $a" or "my $b" if you want to be able to use them in the sort() comparison block or function.

时间: 2024-07-31 14:45:40

perl中的$a和$b介绍_perl的相关文章

perl中的范围声明our-my-local介绍_perl

老实说,这个东西有点折腾人,主要是书上的表述很晦涩,其实搞懂不难.   our,"把名字限于某个范围",其实就是明确声明一个"全局变量",虽然是在某个模块或者函数里面定义的,外面的也可以访问,如果已经声明过了,再次用"our",表示此处用的是全局的那个,不是同名的私有或者局部变量 复制代码 代码如下: our $PROGRAM_NAME = "waiter"; { my  $PROGRAM_NAME = "somet

perl中单行注释和多行注释使用介绍_应用技巧

Perl中的程序注释:单行注释和多行注释 (一)单行注释: 以#开头的行都被perl认为是注释.但是有一个例外,perl程序的第一行是#开头的,他指定了perl程序的解释器. 例如:#print 1: 这种方法有个缺点,就是每次# 只能够注释一行,如果要注释的代码很长,那就是一件很麻烦的事情. (二)多行注释: 最常用的方法是使用 POD(Plain Old Documentations) 来进行多行注释.方法如下: =pod codes to comment =cut 注意:=pod =cut

Perl中的文件读写学习笔记_perl

一.打开.关闭文件 语法为open (filevar, filename),其中filevar为文件句柄,或者说是程序中用来代表某文件的代号,filename为文件名,其路径可为相对路径,亦可为绝对路径. 复制代码 代码如下:  open(FILE1,"file1");  open(FILE1, "/u/jqpublic/file1"); 打开文件时必须决定访问模式,在PERL中有三种访问模式:读.写和添加.后两种模式的区别在于写模式将原文件覆盖,原有内容丢失,形式

Perl中的单行注释和多行注释语法_perl

同其他大多数编程语言一样,Perl中的单行注释也是#开头,例如: 复制代码 代码如下: #print "Hello,World!"; 但多行注释,不同的语言有不同的注释方式,比如说:Java,C/C++: 复制代码 代码如下: /*  *注释若干行  *注释若干行  *注释若干行 */ Python: 复制代码 代码如下: """  用三个双引号,多行注释  用三个双引号,多行注释  用三个双引号,多行注释 """ '''  

Perl localtime时间函数的应用介绍_perl

1. 一般使用: @nowtime=localtime();#($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();注意:$mon+1,$year+1900;$now_string = localtime;  # e.g., "Thu Oct 13 04:54:34 1994" 2.如果要把时间保存在数据库中,可以先将其保存为字符串,然后读出时对字符串再处理. @nowtime=localtime();$

perl pop push shift unshift实例介绍_perl

学习记录一下 复制代码 代码如下: #!/usr/bin/perl -w use strict; print '@a @b @c @d 的值都为1 2 3',"\n"; my @a = (1..3); pop(@a); print "\@a的值为@a,pop拿掉数组最右边的值\n"; my @b = (1..3); push(@b,'4'); print "\@b的值为@b,push添加一个值到数组的最右边.\n"; my @c = (1..3)

Perl学习笔记之CPAN使用介绍_perl

CPAN(Comprehensive Perl Archive Network:全面的Perl存档网络)是查找任何Perl有关的东西的中心仓库.它包含从整个Perl社区收集来的智慧:成百上千的 Perl模块和脚本,相当于好几本书的文档,以及整个Perl发布.如果有东西是用Perl写的,而且这个东西很有用而且是自由的,那么它很有可能就在CPAN上.CPAN在全世界都有镜象,你可以在位于http://www.perl.com/CPAN 的CPAN 路牌上找到离你最近的镜象.那块路牌会记住你选择的是哪

Perl中使用MIME::Lite发送邮件实例_perl

有时候我们在部署脚本的时候,我们想知道,我们的程序执行的怎么样了,想得到执行的结果,这样我们也能放心很多是吧,那么在程序执行成功或失败的时候能够给我没发个邮件很是很不错的. 其实利用perl发邮件的方法有很多种,包括你在cpan上搜索mail关键字是一大堆,经过实践,MIME::Lite用来发邮件还是很合适的,最不可思议的是它可以帮你轻松的发送带有附件的邮件哦. 下面我们就以MIME::Lite发邮件为例: 在cpan上面有关于它的详细的用法(http://search.cpan.org/~rj

perl 中的or与||的区别_perl

来看看下面的代码会输出什么? 复制代码 代码如下: my $a = 0;$a = $a or 1;print $a, "\n";$a = $a || 1;print $a, "\n"; 输出:01为什么呢?因为||, =, or 这三者优先级从左至右逐渐降低.所以,这样写可以:chomp(my $filename = shift( @ARGV ) || <STDIN>); 这样则不行:chomp(my $filename = shift( @ARGV )