Perl进阶

这篇博客介绍了Perl编程的高级主题,包括子程序sub的编写,如何处理命令行参数,打印帮助信息,调用系统命令以及使用第三方包。重点讲解了sub的参数传递,@ARGV变量的应用,system函数的使用,以及Getopt::Long模块在处理命令行参数中的作用。
摘要由CSDN通过智能技术生成


根据网易云课程整理,禁转

子程序sub编写

  • 子程序声明sub
  • 子程序可以传入数组/哈希
  • 默认变量@_ 用于传递参数
  • 子程序调用&
  • 变量的作用域:子程序中定义的变量作用域只能在子程序中调用,子程序可以调用全局变量
  • 返回值return

Perl 子程序(函数)

#子程序示例
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"$!";
open(OUT, "$ARGV[1]") or die "$!";

命令行:perl my_script.p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值