`

perl根据函数名动态调用

    博客分类:
  • perl
阅读更多

perl的函数调用太灵活了,有点java中反射的味道,不过比起java要简单的多,且看下面

 

过程定义:

sub add{

   my($a,$b)=@_;

   return $a+$b;

}

 

调用方式:

'add'->(1,2);

 

$addSub='add';

$addSub->(1,2);

 

@arr=('add','sub','multi');

$arr[0]->(1,2);

 

%hash=(

   'add'=>'add',

    'sub'=>sub{ my($a,$b)=@_;

         return $a-$b;

    }

);

$hash{'add'}->(1,2)

 

以上调用方式都是可行的,结果输出3

 

分享到:
评论

相关推荐

    Perl程序如何调用C代码

    在这个例子中,我们定义了一个名为 `hello` 的 C 函数,它被包含在一个名为 `TEST` 的 Perl 模块中。`EXTERN.h`、`perl.h` 和 `XSUB.h` 是必需的头文件,它们提供了必要的宏和类型定义,以确保 XS 文件能够正确地...

    perl函数集(经典)

    - **函数名**: `eval` - **调用语法**: `eval $string` - **功能**: 将 `$string` 作为Perl语句执行。 - **返回值**: 如果执行成功则返回真值;如果失败则返回假值,并且 `$@` 变量会包含错误信息。 - **示例**...

    perl常用命令_函数集.pdf

    syscall 函数是 Perl 中的一个内置函数,用于调用系统函数。其调用语法为 syscall (list),其中 list 为系统调用名和参数。例如: ```perl require ("syscall.ph"); syscall ("getpid"); ``` 这将调用 getpid 系统...

    C++调用perl

    这可以通过调用`perl_parse`函数来实现,该函数负责解析并执行传入的Perl代码。 3. **错误处理与资源释放**:在执行完Perl代码后,重要的是要检查是否有任何错误发生,并适当地清理所使用的资源。这包括释放`...

    perl函数应用.doc

    这将终止当前Perl程序并启动名为 "new_program" 的新程序,并传递 "arg1" 和 "arg2" 作为参数。 6. **syscall()** 函数: - `syscall` 函数允许你直接调用操作系统级别的系统调用。第一个参数是系统调用号,其余...

    PERL。PERL。ADD

    然而,根据上下文推测,这可能是对Perl库或者特定模块的引用,或者是用户自定义的一个工具或函数集合。在Perl中,库和模块是通过CPAN(Comprehensive Perl Archive Network)提供的,它包含了大量的第三方代码资源,...

    C.Inline.Perl

    3. **调用Perl函数**:使用`call_argv()`或`call_method()`函数调用Perl函数或对象的方法,传递参数并接收返回值。 4. **数据交换**:C和Perl之间的数据交换通常通过SV(Scalar Value)结构体进行,它可以表示各种...

    Perl语言循序渐进学习

    接下来,我们将让程序更加互动,询问用户的姓名并根据姓名个性化输出欢迎信息。为了实现这一点,我们需要引入变量来存储用户输入的数据: ```perl #!/usr/bin/perl printf "请问您的姓名?"; $name = ; chop $name; ...

    perl函数应用[参照].pdf

    本文主要讨论了几个与进程控制相关的Perl函数:`eval`、`system`、`fork`、`pipe`、`exec`以及`syscall`。 1. **`eval`函数**: `eval`函数允许我们将一个字符串当作Perl代码来执行。如果执行成功,`$@`变量将被设...

    Programming Perl中文版

    - 调用函数:通过函数名后跟括号即可调用函数。 - **模块化编程:** - 使用 `use` 语句引入外部模块,增强程序的功能性。 - **文件操作:** - 打开文件:使用 `open` 函数。 - 读写文件:使用 `<FILEHANDLE>` ...

    perl24hours8

    描述提到这是一个适合初学者的参考书,易于上手,表明该学时的内容会以基础和易懂的方式讲解Perl函数的定义和调用。 标签“perl”明确了讨论的主题,即Perl编程语言。 在提供的部分内容中,我们深入学习了以下Perl...

    VC使用Perl

    Perl脚本`sub.pl`定义了一个名为`readfile`的函数,用于读取指定文件中的数据,并进行特定格式的处理。具体代码如下: ```perl sub readfile { my ($s) = @_; open(FH, $s) || die "can't open FH; $!"; my @...

    Perl CGI 轻松进阶 PDF

    通过CGI,Web服务器可以调用Perl脚本来生成动态内容,例如查询数据库、处理表单数据或生成自定义报告。 3. **Perl CGI编程**:Perl CGI库提供了一系列的函数,如`new CGI`来创建CGI对象,`param`用于获取表单参数,...

    Perl语言参考手册中文htmlPerl语言参考手册中文html

    10. **系统交互**:Perl可以直接调用系统命令,如system函数,或者通过backticks或qx运算符来执行shell命令。 这个“Perl语言参考手册中文html”将详细介绍以上所有内容,对于初学者和经验丰富的Perl开发者来说,都...

    perl基本语法

    * 函数调用:函数名后跟参数列表 * 函数返回值:return 语句 模块 模块是 Perl 中的一种代码组织方式,可以方便地重复使用代码。下面是 Perl 中模块的知识点: * 模块定义:package 语句 * 模块加载:use 语句 * ...

    Modern Perl中文版

    - **测试框架**:对于包含测试代码的程序,需要导入Test::More模块,并在程序末尾调用`done_testing()`函数。 - **版本要求**:大多数示例代码基于Perl 5.10及以上版本。尽管部分代码可以向下兼容到早期版本,但在...

    embedded perl in C

    2. **创建Perl解释器**:调用`new_perl_interpreter`函数来创建一个新的Perl解释器实例。 3. **执行Perl脚本**:使用`Perl_require`或`Perl_eval_sv`等函数来执行Perl代码。 4. **清理资源**:执行完毕后,调用适当...

    Perl大骆驼书

    - **调用子过程**:直接通过子过程名后跟括号即可调用。例如: ```perl my $result = add(5, 3); print "Result: $result\n"; ``` #### 三、模式匹配 Perl中的模式匹配功能非常强大,支持正则表达式进行文本...

Global site tag (gtag.js) - Google Analytics