Skip to content

Latest commit

 

History

History
614 lines (379 loc) · 14.8 KB

feature.pod

File metadata and controls

614 lines (379 loc) · 14.8 KB

NAME

feature - ��違�����罘���純�������鴻�˨����������í�違��

SYNOPSIS

use feature qw(say switch);
given ($foo) {
    when (1)          { say "\$foo == 1" }
    when ([2,3])      { say "\$foo == 2 || \$foo == 3" }
    when (/^a[bc]d$/) { say "\$foo eq 'abd' || \$foo eq 'acd'" }
    when ($_ > 100)   { say "\$foo > 100" }
    default           { say "None of the above" }
}

use feature ':5.10'; # loads all features available in perl 5.10

use v5.10;           # implicitly loads :5.10 feature bundle

DESCRIPTION

��≪��絖���������⓾����������㏍�違�í�����紕������������ŝ�����Perl �����違��������羈����菴遵����������������壔�� ��勰����壚���櫝�純�с����� �����勉����í�違����壔����ŝ�鴻�壔�����絨������������号��������箴������障����� ��違��������羈�罕�����������𡉴��罕������勖�違����������潟�壔��use feature 'foo' ��ф����劫����������� ��ï����� feature �����í�違�������鴻�潟�若�������˨�������翫����˨�勉�帥����若�鴻�������障����� (��������с����������勉����í�違����̹�≪�����������CORE:: �・��㊧����壠����⓾� Perl ��㏍�若�壔�若����吾�勉�≪�壔�祉�鴻�����箴������障�����)

Lexical effect

(��㋘�㏍�激�˨�˨�ɱ�号��)

(箴������� use strict ��勉��������) �����勌����勉����í�違��������罕����feature �� ��㋘�㏍�激�˨�˨�ɱ�号����������<�障����� use feature qw(foo) ��壔�������勐�亥�鴻����������㏍����壔�勛����������障�с�勰����������� "foo" 罘���純����ñ���櫝�純�˨����障�����

{
    use feature 'say';
    say "say is available here";
}
print "But not here.\n";

no feature

罘���純�� no feature "foo" ���篏帥����������х�≦�鴻�˨����������������堺�ャ�障����� �����������障����㋘�㏍�激�˨�˨�ɱ�号����������<�障�����

use feature 'say';
say "say is available here";
{
    no feature 'say';
    print "But not here.\n";
}
say "Yet it is here.";

no feature ������罘���純�����絎���������˩戎�����������������í�˨����違�˨�若����˨�ŝ�祉����������障����� �����⓾�� 罘���純����≦�鴻�˨�����(��勰����с�ŝ��荀�羆�!)��˨�壔��no feature ':all' ��� 篏帥�c�⓾��������������

AVAILABLE FEATURES

(��ñ���櫝�純�ʋ�����)

The 'say' feature

('say' 罘����)

use feature 'say' ��壔����潟�潟����ゃ�í�� Perl 6 綵√����� say ��∽�違�� �����鴻�˨�������������˩�������障�����

荅潟�������� "say" in perlfunc ��������с����⓾��������������

�����勖����純�� Perl 5.10 ��������ñ���櫝�純�с�����

The 'state' feature

('state' 罘����)

use feature 'state' ��壔����潟�潟����ゃ�í�� state 紊���違�������鴻�˨������������� 篌������障�����

荅潟�������� "Persistent Private Variables" in perlsub ��������с����⓾��������������

�����勖����純�� Perl 5.10 ��������ñ���櫝�純�с�����

The 'switch' feature

('switch' 罘����)

use feature 'switch' ��壔����潟�潟����ゃ�í�� Perl 6 given/when 罕������� �����鴻�˨�������������˩�������障�����

荅潟�������� "Switch Statements" in perlsyn ��������с����⓾��������������

�����勖����純�� Perl 5.10 ��������ñ���櫝�純�с�����

The 'unicode_strings' feature

('unicode_strings' 罘����)

use feature 'unicode_strings' ��壔��(use locale ��� use bytes �� ��鴻�潟�若����ŝ����с�ŝ��������) �����勉�鴻�潟�若�������у��茵���������������⓾�勖��絖�������篏��� Unicode ��勖����活�����篏帥����������˨�潟�潟����ゃ�í�˩�������障�����

no feature 'unicode_strings' ��壔��Unicode ���羆������������⓾�������勉�� Perl ��˨����c�〠����������с�ŝ����������������ゃ����c����ʋ��絖������������活�����篏帥������������������� 篌�腟援����� Perl ��勖����活�����篏帥����������˨�潟�潟����ゃ�í�˩�������障����� ��������壔����壔�����������腦���九����眼����������������̹��������綣����莎激�������������������障�������� (荅潟�������� "The "Unicode Bug"" in perlunicode ��������с����⓾��������������) �����勛����宴�˨�������������������㏍�違�í����� Unicode �����宴���櫝�醇�с����������ŝ����� use feature 'unicode_strings' ��壔����í�違����� 綣激�� ��с����障�����

�����勖����純�� Perl 5.12 ��������ñ���櫝�純�˨�ŝ����障�����; Perl 5.14 ��с�祉�弱������� 絎�茖���������障�����; Perl 5.16 ��� quotemeta ���絲上�������������������≦宍��������障��������

The 'unicode_eval' and 'evalbytes' features

('unicode_eval' ��� 'evalbytes' 罘����)

unicode_eval 罘���純�勐�冴�с�壔��Perl ��� eval ��∽�違�����絖�������羝<�������������� ���絖���勖��絖������������☀��箴<�����use utf8 絎h�������∴�������障����� use utf8 ��壔�鴻�壔�ŝ�������勉����潟�潟�若����c�潟�違��絎h�����������������絖���������� �����ゃ����勌研��潟�˨�勉�炊����潟��������������絖���勖��絖������с�壩����潟����������障�������� ��純�若�鴻����c�˨�帥�夌��罩≪�������障��; �����������������ゃ����勖��絖�������絲障����⓾�勉� �����潟����������������с����� ��純�若�鴻����c�˨�帥�������鴻�˨�����������������������������荅⓾�帥�壔����í�若����ŝ����障�����

evalbytes 罘���純�� evalbytes ��㏍�若�壔�若����������鴻�˨����障��; ��������壠����違�������〠検��������������勉�������ゃ����勖��絖������������☀��箴<����障����� ���絖������� 8 �����������勛����蚊�勐����眼�勖��絖������˨�障����⓾�������� die �����障����� ��純�若�鴻����c�˨�帥�� evalbytes ��勌賢��с�壠��篏������障��: ����������� 荅�箴<�����������絖������勌賢荳˨��絲障����☁�ñ����������障�����

���������篋���ゃ�勖����純�壠�宴�˨��罩翫兏����� eval ��∽�違��臀勉�������������������� ��勛����������⓾����障��; ��������˨��(絨���ŝ��������)篋���ゃ�勉����違�������������√����勉����㏍�違�í����� 紕������������ŝ�靎≦����˩信罩c����������������с����障�����:

  • eval ��壩��絖������喝����������潟�潟�若����c�潟�違�˩��絖������☎�違�ŝ����壔�����������茵������� �����˨�壠����違�������ゃ����勖��絖������������〠�宴����������˨�壩��絖���勖��絖������������〠�宴����障�����

  • Source filters activated within eval ��勌賢��ф����鴻�˨����������純�若�鴻����c�˨�帥�壔����í�� file ��鴻�潟�若����� ��潟�潟����ゃ�˨�������⓾����������˨�ゃ����⓾�ŝ�若�壔����障����� CPAN ��≪�吾�ャ�若�˨�с����� Semi::Semicolons ���箴���˨����障��:

    BEGIN { eval "use Semi::Semicolons;  # not filtered here " }
    # filtered here!

    evalbytes ��壔����喝��������������篏���������������˩信罩c����障��:

    use feature "evalbytes";
    BEGIN { evalbytes "use Semi::Semicolons;  # filtered " }
    # not filtered

���������篋���ゃ�勖����純�� Perl 5.16 ��������ñ���櫝�純�с�����

The 'current_sub' feature

('current_sub' 罘����)

��������� __SUB__ �����若�壔�潟�����箴������障��; ��������夌憜����勉�泣����˨�若����潟�吾� ��ŝ����<�㋘�潟�鴻�������泣����˨�若����潟�勐����眼�с�� undef ���菴������障�����

�����勖����純�� Perl 5.16 ��������ñ���櫝�純�с�����

The 'array_base' feature

('array_base' 罘����)

�����勖����純�壔�㋘�㋘�激�若�� $[ 紊���違��絲上�������障����� "$[" in perlvar ��� arybase ��������с����⓾�������������� ��������壔�������í�˨����с�壔�ŝ�潟�с����� use v5.16 (緇�菴違� "IMPLICIT LOADING" ������) ��勐�冴�с�夌�≦�鴻�˨�ŝ����障�����

�����勖����純�� Perl 5.16 �����������勐�������у�ñ���櫝�純�с����� 篁ュ����勉����若�吾�с�潟�с�壔��������絽御����ñ����������⓾����⓾�������勉����í�違����壔�������˨�ゃ���� 篏������ャ����障�������с��������

The 'fc' feature

('fc' 罘����)

use feature 'fc' ��壔��Unicode ��潟�粋昭��帥��絎�茖������� fc ��∽�違�� �����鴻�˨�������������˨�潟�潟����ゃ�í�˩�������障�����

荅潟�������� "fc" in perlfunc ��������с����⓾��������������

�����勖����純�� Perl 5.16 ��������ñ���櫝�純�с�����

FEATURE BUNDLES

(罘���純�勖��)

茲���違�勖����純�勉�障�������☀˛��粋昭�����������˨�壔��罘���純�勖�� (feature bundle) ��� 篏帥����障����� 罘���純�勖����勐�������˨�壔��絎������勖����純����阪�ャ�������������˨�潟�㏍�潟�����臀勉�������障�����

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

:default �����壔��use feature ��� no feature 絎h����������鴻�˨�ŝ������� 罘���初��������茵◐憗����⓾����障�����

罘���純�勖����с�� 5.14.0 ��� 0 ��勉�������ɱ�壔����若�吾�с�潟�����絎������⓾����号���� ��������障�������� 罘���純�勖����壠����⓾�勐�壔����若�吾�с�潟�̹�≪����☗�����篋����篆�荐若�������⓾����障�����

use feature ":5.14.0";    # same as ":5.14"
use feature ":5.14.1";    # same as ":5.14"

IMPLICIT LOADING

(���藥���勤˛��粋昭���)

罘���純�勖�������������ц˛��粋昭������������Perl ���罘���純�勖��������藥���̬˛��粋昭��障������������� ��������鴻��膂≦����с�����

feature �����í�違��������藥���̬˛��粋昭�����˨�壚����ゃ�勖�号�������������障��:

  • Perl ��勉�潟����潟����í�ゃ�潟�� -e ��ŝ����激�с�潟�勌撮��������� -E ��ŝ����激�с�潟�� 篏睡����������翫����� ��������˨��������main ��潟�潟����ゃ�����篏�(��ゃ�障�����-E ���綣����膓���� 1 茵�������)�� �����勉����若�吾�с�潟�� Perl ��勖����純�勖����������鴻�˨�ŝ����障�����

  • use VERSION 罕�������篏帥�c�⓾����㏍�違�í�����綽�荀�������������篏������� Perl �����若�吾�с� ��ɱ垩�����腓榊��������絎���������翫����� ��ゃ�障�����篁ヤ����勉�������˨��������:

    use v5.10.0;

    ���藥���勉����<�˩札筝���勉��������:

    no feature ':all';
    use feature ':5.10';

    ��ŝ�������������������с����� ���絨障�勐�壔����若�吾�с�潟�虁�ɱ�������˨����若�吾�с�潟�������������ゃ����������������˨�ŝ�c���������� 羈���������⓾��������������

    ���������腱紙����с�勤⑥���("use" in perlfunc ��������с����⓾�����������)�����帥�������������˨�� 篁ヤ����勉�������˨�������勉��絅純����������������障�����:

    use 5.010;

    ��������с����������号�����緇���������障�����

    荀�羆������������若�吾�с�潟�� Perl 5.10 �����������勐�翫�����篁c��������罘���純�勖�� ":default" ��� ��ɱ�������̬˛��粋昭��障����障�����