Perl入门 - Perl方法的使用

1.定义一个方法

  Perl使用sub定义方法。

  语法:

  sub 方法名称{方法体}

2.调用一个方法

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

  调用方式有以下四种:

    方法名称;

    &方法名称;

    方法名称();

    &方法名称();

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

  

3.传递参数

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

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

  关于传值和传引用:

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

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

      可使用($param1,$param2...)[email protected]_; 的方式取值运算。

4.方法的返回值

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

简单示例,帮助理解

 1 #!user/bin/env perl -w
 2 #定义一个函数
 3 sub fun_say_hello{
 4     print "hello,world!\n";
 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!\n";
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\n";
34 fun_change_name2($name);
35 print "$name\n";
36
37 #返回值
38 sub check_login{
39     ($name) = @_;
40     if ($name eq "Tony")
41     {
42         return "welcome\n";
43     }
44     else
45     {
46         "sorry\n";
47     }
48 }
49
50 print check_login("Tony");
51 print check_login("Jack");

Perl入门 - Perl方法的使用

时间: 2024-08-11 18:12:33

Perl入门 - Perl方法的使用的相关文章

Perl入门(六) Perl方法的使用

 1.定义一个方法 Perl使用sub定义方法. 语法: sub 方法名称{方法体} 2.调用一个方法 Perl直接使用方法名称调用方法. 调用方式有以下四种: 方法名称: &方法名称: 方法名称(); &方法名称(); 说明:方法调用可以再任何位置,可以在方法前.后调用,也可以在方法体内部调用. 3.传递参数 Perl通过方法名后面的括号将参数列表传递到方法体内.例如:function_name("param1","param2"...); 方

Perl入门(七) Perl脚本的调试

编程中错误不可避免,调试能够帮助我们发现有问题的代码段.在网上看了一下Perl脚本调试,发现其实很多东西并不需要,而且那么多也没人看. 下面简单整理一下. 1.进入debug. 使用-d,进入debug状态.例:perl -d Perl程序名称. 2.设置断点 b:设置断点.例:b 行号: c:程序执行到下一个断点处,或执行到指定行.例:c :c 行号: d:删除一个断点.例:d 断点所在行号: D:删除所有断点.例:D: L:列出所有断点.例:L. 3.程序调试 n:执行下一行,跳过方法: s

Perl入门(五)Perl文件读写

 Perl文件夹操作 Perl创建.删除.修改文件夹 mkdir("文件夹名称",权限); rmdir("文件夹名称"); rename("旧文件夹名称","新文件夹名称"): 权限:4代表可读,2代表可写,1代表可执行:权限的组成:[前缀0][文件所有者][同组用户][其他用户]. 生成的数字序列由拥有的权限对应的数字加和计算得到. 如'0755'代表:文件所有者可读可写可执行,同组用户可读可执行,其他用户可读可执行.

perl getopt 使用方法

我们在linux常常用到一个程序需要加入参数,现在了解一下perl中的有关控制参数的函数.getopt.在linux有的参数有二种形式.一种是--help,另一种是-h.也就是-和--的分别.--表示完整参数.-表示简化参数. 在perl中也分这二种. Getopt::Std模块的功能: 初始化perl命令行中所接受的参数,简化了命令行参数的解析. 简化参数例子: #!/usr/bin/perl -w use strict; use Getopt::Std; use vars qw($opt_a

Perl入门(四)Perl的正则表达式

正则表达式是Perl语言的特色,基本的语法不是很难,但是编写一个符合需求.高效的正则表达式,还是有一些挑战的. Perl的三种匹配模式 1.查找 语法:m/正则表达式内容/; 作用:查找匹配内容中是否包含"正则表达式内容",如果包含返回1,否则返回0: #!user/bin/env perl -w #1... $str1 = "i like perl"; $result1 = ($str1 =~ m/perl/); print "$result1 $str

Perl入门(一)Perl的基本类型及运算符

在学习Perl的基础之前,还是希望大家有空去看以下Perl的简介.百度百科 一.Perl的基本类型 Per的基本类型分为两种:数值型和字符串型. 数值型可细分为 整数型.如123. 浮点型.如123.123.0.123456. 科学计数型.如1.23E2.1.23e2. 大数值类型.如1_156_123_585_123. 字符串型 字符串.如"123456",'123',qq(this is a string too!) 二.用变量存储基本类型值 Perl定义变量很简单.格式为:$变量

Perl入门(二)Perl的流程控制

Perl是一种粘性语言,如果你有其他语言的基础的话,你会发现他的流程控制完全和你所知的一模一样. 简单说一下他们的区别: Perl的elsif在其他语言里头可能表示为else if Perl的last,next在其他语言里头可能叫break和continue 不用找了,Perl中没有switch,其实这用if else也是可以实现的,不是么? Perl可能比你知道的语言里头多了这些:条件控制结构unless.循环控制结构until Perl还有一些特殊的写法 还是详细介绍一下Perl的流程控制吧

Perl的调试方法

来源: http://my.oschina.net/alphajay/blog/52172 http://www.cnblogs.com/baiyanhuang/archive/2009/11/09/1730726.html 1. Perl自带的调试器(功能最全,就是最烦) Perl调试器的用法: 缺省的Perl调试器就是perl解释器本身,另外还有图形界面的调试器.因为我们在开发 程序时一般都使用telnet访问服务器,所以这里主要介绍一下缺省的命令行调试器的用法.用 -d 命令行选项启动Pe

perl入门知识(2)

交互式编程你可以在命令行中使用 -e 选项来输入语句来执行代码,实例如下:$ perl -e 'print "Hello World\n"'输入以上命令,回车后,输出结果为:Hello World 脚本式编程我们将以下代码放到 hello.pl 文件中:#!/usr/bin/perl# 输出 "Hello, World"print "Hello, world\n";代码中 /usr/bin/perl 是 perl 解释器的路径.在执行该脚本前要先