Perl学习笔记(3)变量定义,关系运算符
发布时间:2020-12-16 00:32:25 所属栏目:大数据 来源:网络整理
导读:####################关于关系运算符 数字值比较:==,,,=,=,!= ;注意用数字值比较运算符比较字符串时,字符串当作0处理; 字符串比较: eq,gt,lt,ge,le,ne;(undef被当作假来处理) 逻辑运算符:,||,和! ; and,or,not等。 需要注意的是,字符串比较不能用等
####################关于关系运算符
数字值比较:==,>,<,>=,<=,!= ;注意用数字值比较运算符比较字符串时,字符串当作0处理; 字符串比较: eq,gt,lt,ge,le,ne;(undef被当作假来处理) 逻辑运算符:&&,||,和! ; and,or,not等。 需要注意的是,字符串比较不能用等号,必须用eq if($var eq "hello") {? print "world";? }? ####################控制符号 last:最后一次了,跳出当前BLOCK,紧接BLOCK之后的代码往下。 next:这一次到此为止,对本BLOCK开始下一轮。例,显示1以10之间的奇数 for($i<=10;$i++) { #如果是2的倍数的话,就到循环的下一个陈述 next if($i%2)==0) print"$i是一个奇数!n"; } 标号:类似于goto。 last 和 next 通常和 if 倒置语句或者标号结合使用,实现跳转。 exit语句: exit 0; 结束当前的Perl程序,返回OS; if($var)? {? print "yes";? }? ####################变量定义 变量定义,以$号开头,如:$num =1; 数组定义,以@开头,如:@array = (1,2,3); 散列定义,以%开头,如:%hash=("a",1,"b",2); 1.数组元素调用 $array[index],其中index表示数组下标,如上例,$array[0]的值是1 2.数组的表示有上下文确定。在scalar contex标量上下文中,@array表示一个标量。在list context列表上下文中,@array表示一个数组。例如, @AllAnswer=split("@",$HashLastPY{$LastPY}); for ( $i=0;$i<@AllAnswer;$i++){ print "$i:$AllAnswer[$i]tt"; if ( $i>0 && $i%3 == 0 ){ print "n"; } 3.散列的keys和values函数 keys函数会返回此hash的所有keys,values函数将返回所有的values。如果hash中没有元素,则此函数将返回空列表。 my %hash = ("a"=>1,"b"=>2,"c"=>3); print my @k = keys %hash; print my @v = values %hash; 4.散列的each函数 如果想迭代hash的每一个元素,一种通常的方法是使用each函数,它将返回key/value对应的2个元素列表。 当对同一个hash 函数进行一次迭代时,将返回下一个key/value对,直到所有的元素均被访问。如果没有更多的key/value对,则each函数将返回空表。 my %hash = ("a"=>1,"c"=>3); while(($key,$value) = each %hash) { print "$key => $valuen"; } 当然,each返回的key/vlaue对,顺序是混乱的(它其顺序和keys和values函数返回的顺序相同)。 5. 如果想将其按序排放,可以对它们排序(使用sort)。 my %hash = ("a"=>1,"c"=>3,"d"=>4); foreach $key (sort keys %hash) { $value =$hash{$key}; print "$key => $valuen"; } #################### split搭配push open(In,"IdiomPY.txt"); while(<In>){ chomp; #split返回一个数组 ($idiom,$PY)=split(" ",$_); #向数组尾端添加一个值 push(@AllIdiom,$idiom); } close(In);(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |