加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl中的特殊变量

发布时间:2020-12-16 00:04:14 所属栏目:大数据 来源:网络整理
导读:Perl中有很多特殊的内置变量,有时候能够简单地使用这些变量,会出现意想不到的效果!但尽量不要更改Perl的内置变量,除非它被本地化在一个代码段中(local{...})。 常见的内置变量有? $_在很多地方用作默认参数, @_和@ARGV是函数传入的参数的集合, @INC

Perl中有很多特殊的内置变量,有时候能够简单地使用这些变量,会出现意想不到的效果!但尽量不要更改Perl的内置变量,除非它被本地化在一个代码段中(local{...})。

常见的内置变量有?

$_在很多地方用作默认参数,

@_和@ARGV是函数传入的参数的集合,

@INC包含了perl解释器中指定的标准路径名,即use和require给定的文件目录。

use lib '/my/dir';

可在程序中指定 BEGIN { push @INC,'/my/dir' }

除此之外,有一些其他非常好用的内置变量

1. $. 跟踪当前行号。

2. $/ 输入记录分隔符。

如果使用文件输入操作符<FILE>从一个文件中一次读入一行数据,而每一行都包含一个字符“n”,这个“n”其实就是“$/”指定的文件输入分隔符。

如有以下内容:

This is the line A

%%

This is the line B

%%

This is the line C

每行是被%%隔开,那么如果想一次读入一段引文,则可暂时修改"$/"的默认值。如下:

$tmp = $/;

$/ = "%%n";

while (<FILE>){

chomp;

print;

}

$/ = $tmp;

同样,使用chomp则会删除"$/"中指定的分隔符了。

还有一种用法:如

open (HTML_FILE,"< $link") || die "Can't open file for reading: $!";

my $html_file = do { local $/=undef; <HTML_FILE>};

close (HTML_FILE);

3. $ 输出记录分隔符。

即包含了每次调用print输出时候,在其最后要增加的字符串。当然默认是空。可以这样用:

sub pringln{

local $ = "n";# 此处即使用代码块的本地变量

print @_;

}

4. $, 保持了print输出的一组参数之间的分隔符。默认是 “,”?如

my @arr = (1,2,3);

{

local $,= ',';

print @arr;#输出 1,3

}

5. $" 当一个数组被双引号包含传递给print时,展开该数组后用来分隔元素的字符。

my @arr = (1,3);

{

local $" = '+';

print "@arr";#输出1+2+3

}

同样,hash中也可以用

my %hash=(one=>1,two=>2,three=>3);

{

local $" = '<';

print "@hash{qw(one two three)}";#输出1<2<3

}

6. <*>

my @dir = <*>;#把当前文件夹下所有文件的名字赋值给数组@dir

my $dd = <*>;#把文件夹下第一个文件的名字赋值给$dd

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读