首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使模板成为有效的Perl文件

问使模板成为有效的Perl文件
EN

Stack Overflow用户
提问于 2016-04-21 02:54:20
回答 2查看 78关注 0票数 0

我编写了自己的Perl预处理器--当然是用Perl编写的。

我有一个模板文件,它包含有效的Perl语法,除了下面这样的语句

代码语言:javascript
复制
$VAR{ 'LABEL' } =
#include dir/PRECOMPILED.pl
;

其中PRECOMPILED.pl包含使用Data::Dumper生成的匿名哈希,例如

代码语言:javascript
复制
{
    'a' => 1,
    'b' => 2,
}

当我对模板进行预处理时,它会将PRECOMPILED.pl包含到模板中,并使用有效的Perl语法生成一个新文件。

有没有一个好的方法使上面的模板行也是一个有效的Perl程序语句,这样如果预处理器没有运行,我可以稍后在程序中检查$VAR{ 'LABEL‘}是否包含内容?

例如

代码语言:javascript
复制
if( $VAR{ 'LABEL' } ){
    # do something
}
EN

回答 2

Stack Overflow用户

发布于 2016-04-21 18:26:43

您可以使用do语句:

代码语言:javascript
复制
$VAR{LABEL} = do {
#include dir/PRECOMPILED.pl
};

但是这个解决方案有副作用(如果重要的话):do创建了一个新的作用域。

票数 1
EN

Stack Overflow用户

发布于 2016-04-21 21:30:58

我发现:

代码语言:javascript
复制
$VAR{ 'LABEL' } = (
#include dir/PRECOMPILED.pl
)[0];

也是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36752695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档