上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 在数组中删除元素,除了可以用shift pop等处理一些特殊位置的数据,一般位置用undef $_等是不行的,虽然值不存在了,但index依然占用位置。比如说: @array = ('ray', 'loca', 'simon', 'ray'); 这里,我们想删除‘ray’这个元素。用下面的方法: foreach (@array){ if ($_ eq ray){ #undef $_; #$_=''; } } foreach(@array){ print $_."ok\n"; } 可以证明无论是u 阅读全文
posted @ 2012-12-13 15:31 蒋蒋 阅读(14469) 评论(0) 推荐(0) 编辑
摘要: perl的map函数的使用:语法map EXPR, LISTmap BLOCK LIST定义和使用对list中的每个元素执行EXPR或BLOCK,返回新的list。对每一此迭代,$_中保存了当前迭代的元素的值。BLOCK是一个用{}包围的代码块。EXPR可以是子函数名、正则表达式等。LIST是输入列表。简单地说,Perl map函数就是起了一个替代foreach循环的作用,Perl map函数会把数组LIST中的元素挨个取出,放到系统变量$_中,然后调用BLOCK去处理。值得强调的是,除非有很特殊的理由,不要去修改$_的值,因为修改$_就是直接改了原始数组里的元素!返回值如果返回值存储在sca 阅读全文
posted @ 2012-12-13 15:23 蒋蒋 阅读(259) 评论(0) 推荐(0) 编辑
摘要: substr substr (expr, skipchars, length) 抽取字符串(或表达式生成的字符串)expr中的子串,跳过skipchars个字符,或者说从位置skipchars开始抽取子串(第一个字符位置为0),子串长度为length,此参数可忽略,意味着取剩下的全部字符。 当此函数出现在等式左边时,expr必须为变量或数组元素,此时其中部分子串被等式右边的值替换。substr() 函数的作用有两个:替换一部分子串。 删除一部分子串。my $i; $str="ABCDEFGH"; for($i=0;$i<6;$i++) { $word=substr($ 阅读全文
posted @ 2012-12-13 15:15 蒋蒋 阅读(443) 评论(0) 推荐(0) 编辑
摘要: foreach对数组每个元素取:###########注意到用到了$keymy @myNames = ('jacob', 'alexander', 'ethan', 'andrew');foreach $key (@myNames){ print "$key\n";结果:jacob alexander ethan andrew 阅读全文
posted @ 2012-12-13 15:12 蒋蒋 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 1.Perl数组(1): 1) 初始化数组 @array = ( "stringA" , "stringB" , "stringC" ); 2) 使用负索引循环检索 print $array[-1]; #输出索引为(-1 + 3) % 3 = 2 的 stringC 3) 动态增长 $array[4] = "stringD"; #虽然$array[3]还没有使用,但在动态赋值$array[4]的使用,已经对$array[3]赋空置 4) 动态增长后的负索引 print $array[-1]; #输出索引为(-1 + 阅读全文
posted @ 2012-12-13 15:10 蒋蒋 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 计算变量$array1[$i]中N的个数$numN=($array1[$i]=~s/N/#/g);print $numN,"\n";############后边括号中是正则表达式,是逻辑运算,如果为真为1,真被存在$_数组变量里,输出$变量,即为$_数组变量的元素个数 阅读全文
posted @ 2012-12-13 14:59 蒋蒋 阅读(176) 评论(0) 推荐(0) 编辑
摘要: .任意一个字符\n除外+重复>=1次*重复>=0次?重复<=1次$行尾[]字符类,匹配其中任意一个()组,在组中^$表行首行尾\d[0-9]\D[^0-9]\s空白字符\S[^\s]\w[0-9a-zA-Z]\W[^\w]\b单词边界//icase-insensitive//g多次匹配,函数pos记录其位置s///replaces///r返回替代结果但并不修改原来的值$_或用=~绑定的值s///e指明计算后的结果替代匹配的字符串 阅读全文
posted @ 2012-12-13 14:57 蒋蒋 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 假若我們要將比對到的字串,前後加上單引號,這裡一個特殊變數 $& 就是比對到的字串$str = "What a wonderful wonderful world."; $str =~ s/w/'$&'/g; # $str = "What a 'w'onderful 'w'onderful 'w'orld."假設我想把找到的結果全轉成大寫,一般的置換就傷透腦筋了,可是perl提供了不錯的解法,但是要使用函數,就得加上 e 修飾子:$str = "What a won 阅读全文
posted @ 2012-12-13 14:55 蒋蒋 阅读(8403) 评论(0) 推荐(0) 编辑
摘要: Perl自带有排序函数sort,sort的用法主要有两种:for my $id (sort {$a <=> $b}keys %hash){}###这样写可以先对%hash里的keys值按数字排序后依次提取出来1. 直接使用@articles = sort @files;上述例子中,sort将依据标准的字符串排序法则对数组files里包含的元素进行排序。也就是说数组里定义的数字或者字母将被转换成ASCII码后进行排序。2.自定义排序法则@articles = sort {sub rule} @files;上述例子中的"sub rule"指的是自定义排序法则的子程序 阅读全文
posted @ 2012-12-13 14:27 蒋蒋 阅读(688) 评论(0) 推荐(0) 编辑
摘要: while(<IN>){ next if ($.<4); chomp $_; } 阅读全文
posted @ 2012-12-13 14:25 蒋蒋 阅读(280) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 下一页