/ / Perl: čo je zahrnuté v použití 5. ##. #? - perl, použitie

Perl: čo je zahrnuté v použití 5. ##. #? - perl, použitie

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ď č. 1

Toto 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.