根据网易云课程整理,禁转
子程序sub编写
- 子程序声明sub
- 子程序可以传入数组/哈希
- 默认变量@_ 用于传递参数
- 子程序调用&
- 变量的作用域:子程序中定义的变量作用域只能在子程序中调用,子程序可以调用全局变量
- 返回值return
#子程序示例
sub hello{
my($name) = @_;
#传入的是一个数组 @_,列表上下文将数组第一个元素赋值给$name
print "Hello $name !\n";
}
&hello("Tom","Lucy");
sub hello1{
print "Hello $_[0] !\n";
#从数组@_中获取第一个元素,效果同上(不是$_老地方)
}
&hello1("Tom","Lucy");
#数组求和
sub sumNum{
my@num=@_;
my $sum = 0;
for my$n(@num){
$sum=$sum+$n;
}
return $sum;
}
my $all = &sumNum(1..5);
print "$all\n";
#哈希打印
sub show_hash{
my %hash = @_;
for my $k(keys %hash){
print"$k: $hash{$k}\n";
}
}
&show_hash({"name"=>"a", "number"="b"});
命令行参数传递
内置变量@ARGV
使用@ARGV传递参数可以使脚本更通用
数组:用于存储命令行里的字符串
open(IN, "$ARGV[0]") or die"$!"
Perl编程进阶指南

这篇博客介绍了Perl编程的高级主题,包括子程序sub的编写,如何处理命令行参数,打印帮助信息,调用系统命令以及使用第三方包。重点讲解了sub的参数传递,@ARGV变量的应用,system函数的使用,以及Getopt::Long模块在处理命令行参数中的作用。
最低0.47元/天 解锁文章
793

被折叠的 条评论
为什么被折叠?



