perl - 在 Perl 中是否存在需要字符串 eval 的用例?

标签 perl eval

你能提供任何使用eval EXPR的例子吗?真的有必要吗?
我问是因为它通常不鼓励。

最佳答案

字符串 eval 是执行以下操作的唯一方法:

  • 在运行时决定的包中执行新代码
  • 在运行时为包添加重载(至少根据overload.pm)
  • 执行 Perl 的任意字符串
  • 编译宏类型替换

  • 字符串 eval 不应用于:
  • 评估符号引用
  • 执行用户
  • 的任何代码
  • 陷阱错误
  • 如果有其他方法可以做到

  • eval 还可用于在同样具有 eval 的不同系统或不同语言之间创建 ad-hoc 通信协议(protocol)(当然前提是一切都是安全的。JSON 可以被视为该方法的更安全但有限的子集)

    关于perl - 在 Perl 中是否存在需要字符串 eval 的用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2318477/

    相关文章:

    php - 如何从函数中的 file_get_contents 或文件运行 php 代码

    perl - 如何重新初始化 Perl 的 STDIN/STDOUT/STDERR?

    regex - perl 一行+正则表达式匹配部分单词

    linux - 在 perl 中过滤具有给定输入范围的文件

    用于 bool 表达式评估的 Javascript eval

    javascript - 要求在虚拟机中无法按预期工作

    Perl 哈希 + while 循环

    java - 读取文件并根据多个条件剪切每一行

    javascript - 如何安全地评估在 JavaScript 中表示为字符串的 bool 表达式?

    php 解密加密函数并运行它?