Есть ли в Perl 6 режим испорченности?

Perl 5 поддерживает режим "портить" с помощью ключа -T. Сценарий внутренне пометит любое значение, полученное из внешнего источника по отношению к сценарию, как испорченное, которое должно быть незапятнанным. Поддерживает ли Perl 6 такую ​​опцию?

2 ответа

Нет.

Такая функция кратко упоминается в документах по дизайну. Предложение является введение taint черта.

Вы можете увидеть последние комментарии Ларри Уолла об этом (и любой другой теме), выполнив поиск в журналах #perl6. Упоминания TimToady о " порче" показывают, что "у нас еще нет механизма разрушения, чтобы предотвратить злоупотребления" в декабре.

Perl 5 помечает скалярный контейнер как испорченный, и этот порок может или не может пролиться в другие контейнеры. Причина, по которой он не придерживается значений, заложенных в массивы, заключается в том, что Perl 5 использует те же массивы, чтобы хранить свои собственные данные. Падение производительности было бы слишком большим, чтобы заставить испорченный режим работать должным образом.

Как вы уже, наверное, догадались, испорченный режим присоединился к Dodo. Вместо этого вы можете использовать ограниченную настройку. Посмотрите код для Camelia, как это делается.

Другие вопросы по тегам