我想知道如何运行这样的操作
$T = 25 C;
@specs = (273.15 K, 23 bar, 2.0 mol/s);
并让他们编译。我对他们的结果是什么或如何实施并不挑剔。我的目标是让带有传统后缀单元注释的物理量表达式编译为这些单元的 perl 表达式。
我认为我需要使用自定义解析技术,但我更喜欢使用任何现有的功能或解析模块,而不是将正则表达式过滤器应用于我的原始源。
Parse::Keyword似乎很有希望,但我看不出它是否可以解析后缀操作,并且它声称已被弃用。
编辑:如果可能,我想避免使用源过滤器,因为我不想为 Perl 的语法极端情况编写正则表达式(例如“25 (J/K)”)。
Perl 在这里产生的错误告诉我们:
perl -E "25 C"
Bareword found where operator expected at -e line 1, near "25 C"
(Missing operator before C?)
似乎我需要挂钩 Perl 在数字文字之后检测运算符的位置。
Devel::Declare可以添加后缀运算符吗?如果是这样,怎么做?