美文网首页生信猿
【Perl编程-4】子程序+引用

【Perl编程-4】子程序+引用

作者: oddxix | 来源:发表于2019-01-03 11:04 被阅读18次

Perl 子程序也就是用户定义的函数。
Perl 子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读。Perl 子程序可以出现在程序的任何地方,语法格式如下:

sub subroutine{
   statements;
}

调用子程序语法格式:subroutine( 参数列表 )
在 Perl 5.0 以下版本调用子程序方法如下:&subroutine( 参数列表 )

向子程序传递参数

Perl 子程序可以和其他编程一样接受多个参数,子程序参数使用特殊数组@_ 标明。因此子程序第一个参数为 $_[0], 第二个参数为 $_[1], 以此类推。不论参数是标量型还是数组型的,用户把参数传给子程序时,perl默认按引用的方式调用它们。

实例

#!/usr/bin/perl
 
# 定义求平均值函数
sub Average{
   # 获取所有传入的参数
   $n = scalar(@_);
   $sum = 0;
 
   foreach $item (@_){
      $sum += $item;
   }
   $average = $sum / $n;
   print '传入的参数为 : ',"@_\n";           # 打印整个数组
   print "第一个参数值为 : $_[0]\n";         # 打印第一个参数
   print "传入参数的平均值为 : $average\n";  # 打印平均值
}
 
# 调用函数
Average(10, 20, 30);

向子程序传递哈希

在传入多个数组和哈希时,会导致丢失独立的标识,所以需要使用引用。

当向子程序传递哈希表时,它将复制到 @_ 中,哈希表将被展开为键/值组合的列表。
实例:

#!/usr/bin/perl
 
# 方法定义
sub PrintHash{
   my (%hash) = @_;
 
   foreach my $key ( keys %hash ){
      my $value = $hash{$key};
      print "$key : $value\n";
   }
}
%hash = ('name' => 'runoob', 'age' => 3);
 
# 传递哈希
PrintHash(%hash);
#结果
age : 3
name : runoob

引用

引用就是指针,Perl 引用是一个标量类型可以指向变量、数组、哈希表(也叫关联数组)甚至子程序,可以应用在程序的任何地方。

定义变量的时候,在变量名前面加个\,就得到了这个变量的一个引用,比如:

$scalarref = $foo; # 标量变量引用
$arrayref = @ARGV; # 列表的引用
$hashref = %ENV; # 哈希的引用
$coderef = &handler; # 子过程引用
$globref = *foo; # GLOB句柄引用

取消引用可以根据不同的类型使用 $, @ 或 % 来取消,

相关文章

  • 【Perl编程-4】子程序+引用

    Perl 子程序也就是用户定义的函数。Perl 子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使...

  • Perl子程序(函数)和引用

    Perl子程序(函数) Perl子程序也就是用户自定义的函数 Perl子程序可以出现在程序的任何地方,语法格式如下...

  • 【Perl】——4. 子程序

    2021.2.4持续更新中。。。 《Perl语言入门》 1. 子程序的概念 子程序是一段可以重复执行特殊任务的代码...

  • Perl语言学习(七)Perl子程序

    七、Perl子程序 1、Perl子程序的基本概念 子程序的定义执行一个特殊任务的一段分离的代码可以重复使用的一段代...

  • perl学习-day5-Perl子程序(函数)

    Perl子程序也就是用户定义的函数 1:子程序语法格式 sub subroutine{statements;} 调...

  • 子程序

    Perl可以让我们创建子程序,也就是我们自己定义的函数。子程序用&开头。 定义子程序 用关键字sub定义,可以定义...

  • 【perl】perl的子程序——概念

    子程序的概念 定义 执行一个特殊任务的一段分离的代码,可以重复使用 在perl中可以出现在程序的任何地方 可以理解...

  • Perl 子程序参数

    2. 参数 Perl 子程序支持参数传入,要传递参数列表到子程序,只要在子程序调用的后面加上括在括号内的列表表达式...

  • 【perl】perl的子程序(二)——调用

    子程序的调用语法 直接调用语法 Name(LIST) 函数名,参数列表 Name LIST 用&调用 适用于:先...

  • 第五章 Perl函数

    Perl中,函数(又称子程序)是一个封装的行为单元。函数可以有自己的名字,可以接受输入,可以产生输出,它是Perl...

网友评论

    本文标题:【Perl编程-4】子程序+引用

    本文链接:https://www.haomeiwen.com/subject/ngurlqtx.html