加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl eval语句

发布时间:2020-12-16 00:14:03 所属栏目:大数据 来源:网络整理
导读:perldoc?http://perldoc.perl.org/functions/eval.html do?语句做了类似的功能: do?'filea'?==?eval?`cat?filea` ; 形式 1.eval?Expression 2.eval?BLOCK "1"在运行时编译和执行 "2"在编译时编译,运行时执行 因此,"1"编译多次,运行多次。"2”编译一次,

perldoc?>>>http://perldoc.perl.org/functions/eval.html


do?语句做了类似的功能:do?'filea'?==?eval?`cat?filea`;

形式

1.eval?Expression

2.eval?BLOCK

"1"在运行时编译和执行

"2"在编译时编译,运行时执行

因此,"1"编译多次,运行多次。"2”编译一次,运行多次。

eval?会在编译和运行的过程中产生的错误和异常记录在变量$@中。

**举例**:

A:eval?$x;

B:eval?"$x";

C:eval?'$x';

D:eval?{?$x?};

根据“1”和“2”:A,B,C?是在运行时编译,D在编译时编译

A与B完全等价。在运行时编译时会对变量进行展开,然后对展开的值进行eval。设$x='my?$a=20;print?"hello","$an"';

那么,eval?$x?==>?eval?{?my?$a=20;print?"hello","$an"};

C因为是单引号包起来,在运行时编译时候不进行变量展开。

D在编译时编译,在运行时候进行运行。

返回值

在列表环境中返回列表,在标量环境中返回标量,类似函数。

返回值是最后一个语句的值。可以通过return语句明确返回值。

错误时返回undef和空表,同时会将错误信息记录在$@中。

A?control?flow?operator?like?last?or?goto?can?bypass?the?setting?of?$@


用途

形式“2”常用来捕获异常。

形式“1”来构造灵活的代码。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读