Chinaunix首页 | 论坛 | 博客
  • 博客访问: 264656
  • 博文数量: 28
  • 博客积分: 2520
  • 博客等级: 少校
  • 技术积分: 657
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-14 00:02
文章分类

全部博文(28)

文章存档

2010年(3)

2009年(11)

2008年(14)

我的朋友

分类: LINUX

2009-12-22 15:26:40


''     q//   文本字符串  不能替换
""     qq//  文本字符串  可以替换
``     qx//  执行命令    可以替换
()     qw//  单词数组    不能替换
//     m//   模式匹配    可以替换
s///   s///  模式替换    可以替换
y///   tr/// 字符转换    不能替换
""     qr//   正则表达式 可以替换
 
计算数组长度:scalar(@array)=$#array+1
计算散列keys个数scalar(keys(%Hash))
输入操作符
命令输入操作符``
行输入操作符<>
$/设置不同的行结束符
文件名聚集操作符 @files=<*.xml>
@files=glob("*.xml")
@files=<$dir/*.[ch])
@files=glob("$dir/*.[ch]*)
创建引用->反斜杠操作符\
 
引用的使用:
 
 
 
 

$array=[1,2,['a','b','c','d']];
print $array->[2][1];
print $$array[2][1];
print $$array[0];

$table=[["john",47,"brown",186],["mary",23,"hazel",128],["bill",35,"blue",157]];
print "$$table[0][0]";
print "$table->[1][0]";
for $row(@$table)
{
print "\n@$row\n";
}

$table1={
        "john"=>[47,"brown",186],
        "mary"=>[23,"hazel",128],
        "bill"=>[35,"blue",157],
};

print $$table1{"john"}->[1];
foreach(values(%$table1))
{
my $ref=$_;
for(my $i=0;$i<3;$i++)
{
print $ref->[$i];
print "\n";
}
}
foreach(keys(%$table1))
{
for(my $i=0;$i<3;$i++)
{
print $$table1{$_}[$i];
}
print "\n";
}

my $table2={
        "john"=>{age=>47,
                eyes=>"brown",
                weight=>186,
        },
        "mary"=>{age=>23,
                eyes=>"hazel",
                weight=>128,
        },
        "bill"=>{age=>35,
                eyes=>"blue",
                weight=>157,
        },
};

print $$table2{"john"}{eyes};
print "\n******************\n";
foreach(keys(%$table2))
{
print "$_ :\n";
my $ref=$$table2{$_};
foreach(keys(%$ref))
{
print "$_ =>";
print $$ref{$_};
print "\n";
}
}
$coderef=sub {print "function\n"};
&$coderef;

和字符串相关的函数:

print 输出字符串

chop 截断最后一个字符

chmop 截断换行符

ord 返回字符对应的ascii值如ord('A')返回65

chr  返回字符 如chr(65)返回'A'

length 返回字符串长度

index 返回字串的位置

rindex 逆向查找,返回字串的位置

substr 从一个字符串中提取字串

uc 大写

lc 小写

join(expr,list)使用 expr连接字符串

here文档
 

small@small-desktop:~/regex_study$ ./heretest.pl
hello,abc
hi,abc
abc
bcd
efg
hij
kli
small@small-desktop:~/regex_study$ cat heretest.pl
#!/usr/bin/perl -w


print <<EOF;
hello,abc
EOF

print <<`UI`;
echo "hi,abc"
UI


@lines=<<MUL;
abc
bcd
efg
hij
kli
MUL

print "@lines";


时间函数localtime

数组函数:

pop 从数组尾删除元素

push 从数组尾添加元素

shift 从数组头删除元素

unshift 从数组头添加元素

reverse 把数组倒序

sort 排序

map 按照一定的规则处理数组中每个元素

split 分割字符串为一个数组

grep 对数组每个元素进行查找(匹配)返回符合规则的元素组成的新数组

scalar 返回数组大小

delete 清除该位置的元素,但并不改变各个元素的位置

exists 判断该元素是否被删除,与undef不同

splice 清除该元素的位置

undef 让数组变成空白

chop 去掉每一个元素的最后一个字符

chmop 去掉每一个元素尾部的换行符

有关hash函数

keys 返回键的数组

values 返回一个值的数组

each 返回一个(键-值)对

delete 从hash删除一个键-值对,返回删除的值

exists 判断该元素是否被删除

 

 

 

 

 

 

 

 

 

 

 

阅读(589) | 评论(0) | 转发(0) |
0

上一篇:perl 学习(一)

下一篇:bash 算术运算

给主人留下些什么吧!~~