Videl som niekoľko príspevky tento štát use 5.12.0;
v Perlu predvolene povoľuje určité funkcie / pragmy (napr. use strict;
). Ďalší príklad je v utf-8 a perl kde sa uvádza, že use 5.14.0;
je
optimálne pre manipuláciu s utf-8 reťazcovými funkciami Unicode.
Zdá sa, že si spomínam na dostupné use
vyhlásenie, ktoré poskytuje určité predvolené hodnoty (napr. use strict; use warnings; use diagnostics;
), ale nedokážu si spomenúť na špecifiká. Ako zistíte, čo je v danom prípade obsiahnuté use 5.##.#;
výkaz? Napríklad čo use 5.22.0;
štandardne poskytovať? use strict;
? Čokoľvek iné? Vďaka.
odpovede:
10 pre odpoveď č. 1Toto je zdokumentované v perldoc feature
:
Je možné načítať naraz viac funkcií pomocou balíka funkcií. Názov balíka funkcií je označený dvojbodkou, aby sa odlíšil od skutočného objektu.
use feature ":5.10";
K dispozícii sú nasledujúce zväzky funkcií:
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
kde
use v5.10.0;
urobí implicitné
no feature ":all"; use feature ":5.10";
a tak ďalej.
Automatické povolenie obmedzení je dokumentované v perldoc -f use
:
ak je špecifikovaná verzia Perlu väčšia alebo rovná 5.12.0, obmedzenia sú povolené lexikálne ako v prípade
use strict
.
2 pre odpoveď č. 2
use 5.12.0;
robí use feature ":5.12";
, tak dostanete
- povedať
- stáť
- prepínač
- unicode_strings
- array_base
Balíky funkcií sú zdokumentované v feature.pm"s dokumentáciou.
2 pre odpoveď č. 3
Pre vylepšenia, na ktoré sa nevzťahuje vlastnosť, môžeš použiť Syntax :: Construct.