【发布时间】:2011-05-11 19:17:27
【问题描述】:
真实案例(来自caff)来举例说明短问题:
$CONFIG{'owner'} = q{Peter Palfrader};
$CONFIG{'email'} = q{peter@palfrader.org};
$CONFIG{'keyid'} = [ qw{DE7AAF6E94C09C7F 62AF4031C82E0039} ];
$CONFIG{'keyserver'} = 'wwwkeys.de.pgp.net';
$CONFIG{'mailer-send'} = [ 'testfile' ];
然后在代码中:eval `cat $config`,访问%CONFIG
提供列出一般问题的答案,而不仅仅是针对示例。
【问题讨论】:
-
标记为 language-agnostic 因为这在动态语言中是可能的,而且原则上在所有语言中都是可能的。专门标记 Perl 因为它很乐意为您提供足够的众所周知的绳索,编写上面的这种方案非常容易。相关:stackoverflow.com/questions/746972/…
-
您可以了解 JSON 是如何产生的。有人注意到您可以通过这种技术将数据传递到 Javascript 环境中,运行对包含数据的对象进行评估的代码。他们立即意识到这太过分了,因此他们指定了 Javascript 的“安全”子集,以便您可以使用熟悉的语法,结果与运行等效的 Javascript 完全相同,但没有机会在其中混合代码使用您的数据,因此结果更容易推理(没有副作用等)。
-
在我的网站上,我们采用了一个名为 Chef 的工具进行部署 - 它的配置文件,称为“recipes”,具有复杂的语法,实际上它本身就是一种语言