Видях няколко мнения тази държава use 5.12.0;
в Perl разрешава определени функции / прагми по подразбиране (напр. use strict;
). Друг пример е в utf-8 и perl където е посочено това use 5.14.0;
е
оптимално за Unicode низа функция utf-8.
Изглежда си спомням един наличен use
декларация, която предоставя определени неизпълнения (напр. use strict; use warnings; use diagnostics;
), но не мога да си спомня спецификата use 5.##.#;
твърдение? Например какво прави use 5.22.0;
предостави по подразбиране? use strict;
? Нещо друго? Благодаря.
Отговори:
10 за отговор № 1Това е документирано в perldoc feature
:
Възможно е да се заредят няколко елемента заедно, като се използва пакет от функции. Името на пакета с функции се поставя с двоеточие, за да се разграничи от действителната функция.
use feature ":5.10";
Налични са следните групи функции:
bundle features included --------- ----------------- :default array_base :5.10 say state switch array_base :5.12 say state switch unicode_strings array_base :5.14 say state switch unicode_strings array_base :5.16 say state switch unicode_strings unicode_eval evalbytes current_sub fc :5.18 say state switch unicode_strings unicode_eval evalbytes current_sub fc :5.20 say state switch unicode_strings unicode_eval evalbytes current_sub fc :5.22 say state switch unicode_strings unicode_eval evalbytes current_sub fc
където
use v5.10.0;
ще направи имплицитно
no feature ":all"; use feature ":5.10";
и така нататък.
Автоматичното активиране на стриктурите е документирано perldoc -f use
:
ако зададената версия на Perl е по-голяма или равна на 5.12.0, стриктурите са активирани лексикално както при
use strict
.
2 за отговор № 2
use 5.12.0;
прави use feature ":5.12";
, така че да получите
- казвам
- състояние
- ключ
- unicode_strings
- array_base
Пакетите с функции се документират в feature.pmна документацията.
2 за отговор № 3
За подобрения, които не са обхванати от особеност, можеш да използваш Синтаксис :: Construct.