perl 第八弹 函数

Posted 流浪骆驼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl 第八弹 函数相关的知识,希望对你有一定的参考价值。

记得点击蓝字关注我们哦!


0 1

上期回顾

$!$_、 $.$@@ARGV@INC@_%ENV$/预定义变量的含义,简单示例


0 2

函数

chomp 函数能够删除列表中每个带有换行符的元素的最后一个字符,并返回删掉的换行符数目。
用法:chomp(@ARRAY)  或者 chomp($scalar)
# 创建含有"red", "green", "orange"三个元素的@line1# 创建含有"red\n", "green\n", "orange\n"三个元素的@line2@line1=( "red", "green", "orange");@line2=( "red\n", "green\n", "orange\n");# chomp 删除数组中每个元素末尾的换行符chomp(@line1);chomp(@line2);
print "@line1"; # red green orange 两个输出一样print "@line2"; # red green orange
# 通过IN句柄读取文件的每一行,赋值给$linewhile (my $line = <IN>){ # 删除每行结尾的换行符 chomp($line);}
# 将输入内容赋予数组# 打开文件test.txt,通过IN句柄读入文件open IN,"test.txt" or die $!;# 一次性将全部行放入数组@all里面@all = <IN>;



数组函数:


exists 函数:如果数组的下标(或散列表的键)已经定义,则exists 函数会返回true,否则就会返回false。
用法:exists $ARRAY[index];
# 创建含有Tom Raul Steve Jon四个元素的@names数组@names = qw(Tom Raul Steve Jon);# 如果index为1的元素已经定义,则输出hello $names[1] print "Hello $names[1]\n", if exists $names[1];
__END__(output)Hello Raul


delete 函数:delete 函数用于从数组元素中删除指定的值,但它不会删除该元素本身,只是将它的值设定为“未定义”。
用法:delete $ARRAY[index];
# 创建含有"red","green","blue","yellow"四个元素的@colors数组@colors=("red","green","blue","yellow");# 删除index为1的元素的值delete $colors[1]; # green is removed# 输出the seconde color is $colors[1]print "the seconde color is $colors[1]\n";
__END__(output)the seconde color is


grep函数能够对数组(LIST)中的每个元素都求出表达式(EXP)的值,并据此返回另一个数组,该数组仅由上述表达式值为真的元素组成。如果其返回值是标量的话,则保存了表达式值为真的次数(即找到匹配样式的次数)。

用法:grep(EXPR,LIST)

# 创建@list数组@list = (tomatoes, tomorrow, potatoes, phantom, Tommy);# 匹配数组中含有tom字符串的元素,因为赋值给标量,所以$count为匹配上的次数,# 赋值给@items,则返回为匹配上的元素# 此处可以认真理解一下上下文$count = grep( /tom/i, @list);@items= grep( /tom/i, @list);print "Found items: @items\nNumber found: $count\n";
__END__(output)Found items: tomatoes tomorrow phantom TommyNumber found: 4


shift、unshift、pop、push由于前面已经说过一遍了,本次侧重总结归纳。详细示例参考

函数
用法
含义
shift
shift(ARRAY)
能移除并返回数组的第一个元素,同时把数组长度减去1
unshift
unshift(ARRAY, LIST)
能把LIST 追加到数组的起始位置。
pop
pop(ARRAY) 能弹出数组的最后一个元素,并返回该元素内容。此后,该数组的长度将减1。
push
push(ARRAY, LIST)
能把一个数值追加到数组末尾,同时增大该数组的长度



0 3

总结


chomp函数、exists 函数、delete 函数、grep函数含义用法

       一定要牢记啊,这些都是常用的啊~


ps:数组函数未完待续,四个数组函下一期还会有新的解读~~




END






上期推荐阅读
@





以上是关于perl 第八弹 函数的主要内容,如果未能解决你的问题,请参考以下文章

高并发第八弹:J.U.C起航(java.util.concurrent)

Hulu机器学习问题与解答系列 | 第八弹:强化学习

老司机发车第八弹:前端跨终端适配和浏览器兼容

北漂生活第八弹-搬进来了程序员舍友

北漂生活第八弹-搬进来了程序员舍友

如何有条件地将 C 代码片段编译到我的 Perl 模块?