【发布时间】:2016-12-02 06:06:34
【问题描述】:
Perl 5 使用 -T 开关支持污点模式。该脚本将在内部将任何从脚本外部源检索到的值标记为受污染的,而这些值应该是未受污染的。 Perl 6 是否支持这样的选项?
【问题讨论】:
Perl 5 使用 -T 开关支持污点模式。该脚本将在内部将任何从脚本外部源检索到的值标记为受污染的,而这些值应该是未受污染的。 Perl 6 是否支持这样的选项?
【问题讨论】:
没有。
这样的功能是briefly mentioned in design docs。建议是引入taint trait。
您可以通过搜索#perl6 日志查看 Larry Wall 关于此(以及任何其他主题)的最新 cmets。 Mentions of 'taint' by TimToady 在 12 月揭晓 "we have no tainting mechanism yet to prevent abuse"。
【讨论】:
Perl 5 会将标量容器标记为已污染,并且该污染可能会或可能不会溢出到其他容器中。它不坚持放入数组的值的原因是 Perl 5 使用相同的数组来保存它自己的数据。性能损失会很大,无法使污染模式正常工作。
您可能已经猜到了,污染模式加入了 Dodo。相反,您可以使用受限设置。查看Camelia 的代码是如何完成的。
【讨论】: