Perl语言入门笔记 第四章 子程序
发布时间:2020-12-15 23:41:15 所属栏目:大数据 来源:网络整理
导读:=pod定义子程序:sub sub_name{#($var1,$var2) = @_;#$var1 = $_[0];#$var2 = $_[1];#定义局部变量: my $myVar = $_[1];my ($m,$n) = @_;}调用子程序:sub_name;$maximum = max(3,5,10,4,6);sub max{my($max_so_far) = shift @_; #数组中的第一个值,暂时把
=pod 定义子程序: sub sub_name { #($var1,$var2) = @_; #$var1 = $_[0]; #$var2 = $_[1]; #定义局部变量: my $myVar = $_[1]; my ($m,$n) = @_; } 调用子程序: &sub_name; $maximum = &max(3,5,10,4,6); sub max { my($max_so_far) = shift @_; #数组中的第一个值,暂时把它当成最大值 foreach(@_) #遍历@_比较得出最大值 { if($_ > $max_so_far) { $max_so_far = $_; } } $max_so_far; #此时就相当于,return $max_so_far; } 关于词法(my)变量: 可以在if、while、foreach的语句块里使用。 foreach(1..10) { my($square) = $_ * $_; #该循环中的私有变量 print "$_ squared is $square.n"; } my($num) = @_; #列表上下文,和($num) = @_;相同,得到@_的第一个元素 my $num = @_; #标量上下文,和$num = @_;相同,得到@_里面元素的个数 my @phone_number; 在日常perl编程当中,最好对每个新变量都是用my声明,让它保持在自己所在的词法作用于内。在第三章中,你已经看到过如何在foreach循环中定义自己的控制变量而这个控制变量也可以声明为词法变量: foreach my $rock (qw/bedrock slate lava/) { print "One rock is $rock.n";#依次输出每块石头的名字 } return操作符: 和c/c++的语言没多大区别,可以终止循环,提前退出,也可以在最后返回某值 可以返回非标量数值,通俗点讲就是返回数组和哈希表类的变量 state限定符: state限定符和c语言中的static限定符一样,限定某个变量后,只会初始化一次,然后会保存上次的值 如: 注意:要加上use 5.010; sub marine { state $n = 0; #持久性私有变量$n $n += 1; print "Hello,sailor number $n!n"; } =cut #!/usr/bin/perl -w use utf8; use diagnostics; use strict; system "pause"; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |