• Perl入门


    1.定义一个方法

      Perl使用sub定义方法。

      语法:

      sub 方法名称{方法体}

    2.调用一个方法

      Perl直接使用方法名称调用方法。

      调用方式有以下四种:

        方法名称;

        &方法名称;

        方法名称();

        &方法名称();

      说明:方法调用可以再任何位置,可以在方法前、后调用,也可以在方法体内部调用。

      

    3.传递参数

      Perl通过方法名后面的括号将参数列表传递到方法体内。例如:function_name("param1","param2"...);

      方法体内部通过@_接收参数。@_是数组。取值的方法也可以采用下标的形式取得。

      关于传值和传引用:

        1.直接将值写进方法后面的括号内就是传值,将标量($xxx)、数组(@xxxx)、哈希结构(%xxx)放进去就是传引用。

        2.如果没有改变变量值的需求的情况下,不推荐使用@_[i]的方式进行取值。首先,会导致引用对象的改变,其次,并不能明确表明代表的是什么意思。

          可使用($param1,$param2...)=@_; 的方式取值运算。

    4.方法的返回值

      可以使用return显示的返回值。也可不用return。

    简单示例,帮助理解

     1 #!user/bin/env perl -w
     2 #定义一个函数
     3 sub fun_say_hello{
     4     print "hello,world!
    ";
     5 }
     6 
     7 #引用函数
     8 fun_say_hello;
     9 &fun_say_hello;
    10 fun_say_hello();
    11 &fun_say_hello();
    12 
    13 #传递参数
    14 sub fun_say_hello_with_name{
    15     ($name) = @_;
    16     print "hello,$name!
    ";
    17 }
    18 
    19 fun_say_hello_with_name("Tom");
    20 
    21 #传值和传引用
    22 sub fun_change_name1{
    23     ($fname) = @_;
    24     $fname = "Jack";
    25 }
    26 
    27 sub fun_change_name2{
    28     @_[0] = "Jack";
    29 }
    30 
    31 $name = "Tony";
    32 fun_change_name1($name);
    33 print "$name
    ";
    34 fun_change_name2($name);
    35 print "$name
    ";
    36 
    37 #返回值
    38 sub check_login{
    39     ($name) = @_;
    40     if ($name eq "Tony")
    41     {
    42         return "welcome
    ";
    43     }
    44     else
    45     {
    46         "sorry
    ";
    47     }
    48 }
    49 
    50 print check_login("Tony");
    51 print check_login("Jack");
  • 相关阅读:
    Win10下配置Java 环境变量
    css background之设置图片为背景技巧
    让一个图片在div中居中(四种方法)
    js判断是否联网
    css 设置 checkbox复选框控件的对勾√样式
    CSS 实现对号效果
    关于input 的选中,自定义input[type="checkbox"]样式
    前端图片压缩上传(纯js的质量压缩,非长宽压缩)
    vscode: Visual Studio Code 常用快捷键
    Content:"2715",特殊字符和图标
  • 原文地址:https://www.cnblogs.com/ssp2110/p/3797259.html
Copyright © 2020-2023  润新知