|
|
1
16
Sub返回Sub作为 科德夫 以下内容:
可以使用执行任意文本
注意这是 非常危险 如果您正在评估从用户输入中提取的任何内容,并且通常是一个糟糕的实践,因为您通常可以在coderef中定义代码,如前面的示例所示。 您可以使用 state variable (在Perl5.10中是新的),或者变量的作用域高于Sub本身,作为 closure :
|
|
|
2
7
返回子例程引用。 下面是一个简单的例子,它创建了一个值上关闭的子引用:
您还可以使用这样的命名SUB:
你可以使用
几乎任何你想用字符串eval做的事情都可以用闭包来实现。 |
|
3
5
通过使用
5.10介绍 state variables .
在Perl执行文本时使用
执行任意字符串 将 打开巨大的安全漏洞。 |
|
|
4
5
您可以创建匿名子例程并通过引用访问它们;当然,可以将此引用分配给标量:
或从另一个子例程返回
如果需要存储状态,可以使用外部作用域中定义的词法变量创建闭包,如:
您可以用运行代码 eval |
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |
|
|
A.Ellett · 测试-t STDIN与-t<STDIN> 1 年前 |
|
|
con · 如何跳转到foreach迭代的特定点? 2 年前 |