perl培训资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

perl内部并不存在整数,在perl内部总是按照双精度浮点数的要求来保存数字并进行运算的。

如果要使perl支持unicode字符,需要添加 use utf8;

\l 将下一个字母转换为小写

\L 将它后面的所有字母都换为小写,直到\E为止

\u 将下一个字母转换为大写

\U 将它后面的所有字母都换为大写,直到\E为止

\Q 相当于把它到\E之间的非单词字符加上反斜杠

\E 结束\L、\U、\Q开始的作用范围

per的告警信息:

use warnings;

或者使用 perl -w运行脚本

或者加上 #!/usr/bin/perl -w

如果看不懂告警,就是用

use diagnostics;

打印更详细的信息

$#aaa表示aaa数组的最后一个元素的索引值

关于perl中布尔值的判断

1、如果是数字,0为假;所有其他的为真

2、如果是字符串,空字符串为假,所有其他的字符串为真

3、如果既不是数字也不是字符串,那就先换成数字或者字符串再进行判断。使用defined函数来判断变量是否定义

数组定义:

my @p1=('aaa','bbb','ccc');

my @p2=(1..100);

my @p3=qw(aaa bbb ccc);

my @p4=qw! aaa bbb ccc !;

$end=$#p1;

$number=$#p1+1;

$last=$p1[$#p1];

$last=$p1[-1];

pop取出数组中的最后的一个元素并将其作为返回值返回。$last=pop(@p1);

push添加元素到数组的最后

push(@p1,'jaj');

push @p1,'aaaa';

push @p1,@p2;

shift取出数字第一个元素并将其作为返回值返回

$first=shift(@p1);

unshift添加元素到数组的最左边

unshift(@p1,'jaj');

unshift @p1,@p2;

splice可以实现从中间操作数组;

foreach 来循环遍历数组中的值

reverse反转数组

sort 对数组进行排序

sort(@p1) 正向排序

reverse sort(@p1) 逆向排序

chomp(@p1);

chomp(@line =);

可以使用state操作符来声明持久性私有变量

state $sum=0;

state @numbers;

打印数组:

print @array

print "@array"

@ARGV是存放所有参数的数组

<>砖石操作符,把输入参数当作文件处理

文件操作符(文件句柄)

open CONFIG, 'test';

open CONFIG, '

open CONFIG, '>test';

open CONFIG, '>>test';

关闭文件句柄:

close CONFIG;

读取或者写入的时候指定文件的字符编码

open CONFIG, '<:encoding(UTF-8)', 'test';

open CONFIG, '>>:encoding(UTF-8)', 'test';

打印perl能处理的字符编码清单

perl -MEncode -le "print for Encode->encodings(':all')"

判断文件句柄是否成功的代码:

my $success=open CONFIG, '>>', test';

if( !$success ){

print "create file faild";

}

if( ! open CONFIG, '>>', 'test' ){

die "Can't create config file: $!";

}

if( @ARGV<2 ){

die "Not enough arguments\n";

}

自动检查致命错误

use autodie;

可以将文件句柄设置成变量,这样文件句柄可以作为子程序的参数传递,或者放在数组和hash中排序,或者严格控制其作用域。

打印往文件句柄中写入数据的时候不需要加入逗号!

hash

申明hash

my %test=('foo'=>35,'bar'=>39,'carl'=>34,'zhang'=>89);

my %test=('foo',35,'bar',39,'carl',34,'zhang',89);

访问哈希元素

$hash{$key};

哈希元素赋值

$hash{'test'}='carlzhang';

访问整个hash

my @any_array=%array;

print "@any_array\n";

hash转换

my %test_hash=reverse %hash;

hash函数

keys函数能返回hash的所有键列表

values函数能返回hash所有的值列表

my %test=('foo'=>35,'bar'=>39,'carl'=>34,'zhang'=>89);

my @test_key=keys%test;

相关文档
最新文档