ããã«ã¡ã¯ããšã³ãžãã¢ã® id:mp0liiu ã§ãã å°ãåã®è©±ã«ãªããŸããã5/28ã«Perlã®ææ°å®å®ããŒãžã§ã³ã§ãã5.36ããªãªãŒã¹ãããã®ã§ãã³ãã¥ããã£åšãã®ååãå«ããŠæ°ã«ãªã£ãç¹ã«ã€ããŠãŸãšããŠããããšæããŸãã use v5.36 äžçªåœ±é¿ããã倿Žã¯ use VERSION ã®å¹æãå€ãã£ãããšã§ãã use v5.34 以åã¯ããŒãžã§ã³ãã§ãã¯ãèŠæ±ãããããŒãžã§ã³ã§å©çšå¯èœãªãã¹ãŠã®æ©èœ(featureãã³ãã«)ã®æå¹åãstrict ã®æå¹åãè¡ã£ãŠããŸãããã use v5.36 ãã㯠warnings ãæå¹åãããããã«ãªããŸããã use v5.36 ; my $str ; say $str ; # Use of uninitialized value $str in say at ... 1è¡ã ãã§ strict, warnings, ææ°ã®æ©èœã®æå¹åãã§ããŠäŸ¿å©ãªã®ãšãperléçºããŒã ã use VERSION ããã£ãšæ®åãããããšèããŠãããã *1 ãªã®ã§ç©æ¥µçã«äœ¿ã£ãŠãããŸãããïŒ use v5.36 ã§ç¡å¹åãããæ©èœ 5.36 ã® feature ãã³ãã«ã§ã¯ãPerlã®æ§æè§£æãé£ããããããããã«ããæåãããŠããŸãåå ã«ãªããã¡ã ã£ãå€ãæ©èœã®äžéšãç¡å¹åãããããã«ãªããŸããã 鿥ãªããžã§ã¯ãèšæ³ 鿥ãªããžã§ã¯ãèšæ³ãšããã®ã¯éåžžã¡ãœããã®åŒã³åºãã¯æ¬¡ã®ããã«æžããšããã my $ua = LWP::UserAgent->new( timeout => 10 ); my $response = $ua->get ( 'http://example.com' ); ãã®ããã«æžãèšæ³ã®ããšã§ãã my $ua = new LWP::UserAgent timeout => 10 ; my $response = get $ua 'http://example.com' ; 鿥ãªããžã§ã¯ãèšæ³ãç¡å¹ã«ãªã£ãŠç¹ã«å¬ããã®ã¯ Try::Tiny ãuseãå¿ãããšãã®è¬ã®æåãçºçããªãããšã ãšæããŸãã äŸãã° 5.34 ã ãšãã®ã³ãŒãã¯éæ¥ãªããžã§ã¯ãèšæ³ã§è§£éã§ããŠããŸãã try {} ã®äžã ãå®è¡ã㊠catch {} ã®éšåã¯å®è¡ããªããšããæåã«ãªã£ãŠããŸããŸããã5.36 ã ãšsyntaxãšã©ãŒã«ãªããŸãã use v5.34 ; try { die 'hoge' ; } catch { if ( $_ eq 'hoge' ) { say 'ok' ; } else { die $_ ; } }; æ¬äŒŒçãªå€æ¬¡å
é
å ãŸã Perlã§å€æ¬¡å
é
åãäœããªãã£ãé ã«ããã·ã¥ã«è€æ°ã®ããŒãäžããããšã§æ¬äŒŒçãªå€æ¬¡å
é
åãäœããããã«ãªã£ãŠããã®ã§ããããã®æ©èœãç¡å¹ã«ãªããŸãã use v5.36 ; my %hash ; $hash{ 1 , 2 } ; # Multidimensional hash lookup is disabled å®å®åããå®éšçæ©èœ 以äžã®å®éšçæ©èœãå®å®åã㊠use v5.36 ã use feature æ©èœå ã§äœ¿ããããã«ãªããŸããã ãããã®æ©èœã¯ãããã¯ãã®äžã§ãç©æ¥µçã«å©çšããŠãåé¡ãªãã§ãããã ãµãã«ãŒãã³ã·ã°ãã㣠perl5.18 ã§è¿œå ããããµãã«ãŒãã³ã·ã°ããã£ãperl5.36ã§ããããå®å®åã㊠@_ ã®äžèº«ãåãåºããªããŠãåŒæ°ãåãåãããšãã§ããããã«ãªããŸããã # ãµãã«ãŒãã³ã·ã°ããã£ã䜿ããªãå Žå sub add { my ( $x , $y ) = @_ ; return $x + $y ; } # ãµãã«ãŒãã³ã·ã°ããã£ã䜿ãå Žå use feature 'signatures' ; sub add2 ($ x, $y ) { return $x + $y ; } use feature 'signatures'; ããç¶æ
ã§ããµãã«ãŒãã³ã·ã°ããã£ã䜿ã£ããµãã«ãŒãã³ãšåŸæ¥ãšåãåŒæ°ã @_ ããåãåºããµãã«ãŒãã³ã¯å
±åã§ããŸããããµãã«ãŒãã³ãããã¿ã€ãã䜿ã£ãŠãããµãã«ãŒãã³ã¯ :prototype 屿§ã䜿ããªããšå
±åã§ããŸããã use feature 'signatures' ; sub mymap (&@) { # -> syntax error! my ( $code , @args ) = @_ ; my @returns ; for my $arg ( @args ) { local $_ = $arg ; push @returns , $code ->(); } return @returns ; } sub mymap :prototype(&@) ( $code , @args ) { my @returns ; for my $arg ( @args ) { local $_ = $arg ; push @returns , $code ->(); } return @returns ; } ãŸããæ¬¡ã®ããã«ãµãã«ãŒãã³ã·ã°ããã£ã䜿ã£ããµãã«ãŒãã³ã®äžã§ @_ ãåç
§ããããšã¯å®éšçæ©èœãšãããŠããã®ã§æ³šæããŠãã ããã sub add ($ x, $y ) { my ( $x2 , $y2 ) = @_ ; # Use of @_ in list assignment with signatured subroutine is experimental return $x2 + $y2 ; } ãµãã«ãŒãã³ã·ã°ããã£ã«ã¯åã¯æå®ã§ããªãã®ã§ Data::Validator, Smart::Args ãªã©ã®åŒæ°ããªããŒã¿ã¯ãŸã ææŸããªãã§ãããæžæšãŠã®ã¹ã¯ãªãããæžããšããååŠè
ã®ãšã£ã€ããããã¯ããªãè¯ããªã£ãã®ã§ã¯ãªãã§ããããã isa æŒç®å isa æŒç®åã¯å·Šè¢«æŒç®åã«æž¡ããå€ãå³è¢«æŒç®åã®ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãŸãã¯ããããæŽŸçããã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãªã®ãã調ã¹ãæŒç®åã§perl5.32 ã§å®éšçæ©èœãšããŠè¿œå ãããŸããããä»åã®å€æŽã§èŠåã¯ãªããªããŸããã ä»ãŸã§ Scalar::Util::blessed ãš isa ã¡ãœããã§ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãã©ãããå€å®ããŠãããšãããªã©ãç°¡æœã«æžããããã«ãªããšæããŸãã use Test::More; use feature 'isa' ; package Hoge { sub new { bless +{}, shift } } my $obj = Hoge->new; # isa æŒç®åã䜿ããªãå Žå use Scalar::Util qw( blessed ) ; ok blessed( $obj ) && $obj->isa ( 'Hoge' ); # isa æŒç®åã䜿ãå Žå ok $obj isa Hoge; done_testing; 远å ãããå®éšçæ©èœãæ¹åãããç¹ çåœå€ãå®å®ããŠè¿œè·¡ã§ããããã«ãªã£ã ä»ãŸã§ !!0 ã !!1 ãšãã£ãæ§æãçåœå€ãè¿ãåŒãã³ã¢é¢æ°ããè¿ãããŠããçåœå€ã¯ãªãããã®å€æ°ã«ä»£å
¥ãããšçåœå€ãšããŠã®æ§è³ªã倱ã£ãŠããŸã£ãŠããããã§ããã 5.36ããã¯å€æ°ã«ä»£å
¥ããŠããã®çåœå€ãšããŠã®æ§è³ªãä¿æããããã«ãªã£ãããã§ãã åŸè¿°ãã builtin ã®æ°ãã颿° is_bool() ã§å€ãçåœå€ãšããŠã®æ§è³ªãæã€ãã©ããããã§ãã¯ããããšãã§ããŸãã ãã®å€æŽã«ãã£ãŠãä»ã®èšèªãšã®çžäºéçšãããŒã¿åã®ã·ãªã¢ã©ã€ãŒãŒã·ã§ã³ãç°¡åã«ãªããŸããã äŸãã° JSON::PP ã§ãšã³ã³ãŒãããå Žåãä»ãŸã§ã¯çåœå€ã ãšæç€ºããã«ã¯ true ã®å Žå \1 ããfalse ã®å Žå \0 ãæž¡ãå¿
èŠãããç¥èããªããšããããã¡ã ã£ãã®ã§ããã 5.36 以é㯠!!1 , !!0 ãªã©çåœå€ãšããŠè¿ãããå€ïŒåŸè¿°ã® builtin::true, builtin::false ã®å€ãå«ãïŒããã®ãŸãŸæž¡ãã°ã¡ãããšãšã³ã³ãŒãã§ããããã«ãªããŸããã use v5.34 ; use JSON::PP qw( encode_json ) ; my $data = +{ hoge => \ 0 }; say encode_json( $data ); # {"hoge":false} use v5.36 ; use JSON::PP 4.09 qw( encode_json ) ; # çåœå€ã§ãã®ãŸãŸãšã³ã³ãŒãããã«ã¯ JSON::PP 4.09 以äžãå¿
èŠ my $data = +{ hoge => !! 0 # builtin::false ã§ãå¯ }; say encode_json( $data ); # {"hoge":false} 倿°ã«ä»£å
¥ããŠãçåœå€ãšããŠã®æ§è³ªãä¿æãããšã¯ã©ãããããšã? ã倿°ã«ä»£å
¥ããŠãçåœå€ãšããŠã®æ§è³ªãä¿ã€ããšããã®ãã©ãããããšãããããªãã£ãã®ã§ã5.34ã5.36ããããã§çåœå€ã倿°ã«ä»£å
¥ããå Žåã®æ§è³ªã®å€åã調ã¹ãŠã¿ãŸããã use v5.34 ; use Devel::Peek qw( Dump ) ; Dump !! 1 ; my $bool = !! 1 ; Dump $bool ; my $one = 1 ; $one . '' ; Dump $one ; 5.34 SV = PVNV(0x236c030) at 0x937720 REFCNT = 2147483644 FLAGS = (IOK,NOK,POK,READONLY,PROTECT,pIOK,pNOK,pPOK) IV = 1 NV = 1 PV = 0x70c924 "1" CUR = 1 LEN = 0 SV = PVNV(0x236c070) at 0x23a3130 REFCNT = 1 FLAGS = (IOK,NOK,POK,pIOK,pNOK,pPOK) IV = 1 NV = 1 PV = 0x237c4f0 "1"\0 CUR = 1 LEN = 10 SV = PVIV(0x238f730) at 0x2391260 REFCNT = 1 FLAGS = (IOK,POK,pIOK,pPOK) IV = 1 PV = 0x23da7b0 "1"\0 CUR = 1 LEN = 10 倿°ã«ä»£å
¥ããã«ãã³ãããå Žåãšä»£å
¥ããŠãã³ãããå Žåãæ¯ã¹ãŠç°ãªãç¹ã¯ FLAGSã« READONLY , PROTECT ãã€ããªããªã£ã PVãæãæååãããã¡ã®å
容ãå€ãã£ã NULLçµç«¯æååãå«ãŸããŠããæååã«ãªã£ã LEN(PVã«å²ãåœãŠããããã€ãæ°)ã 0 -> 10 ã«ãªã£ã ãšãã£ãæãã§ãã READONLY , PROTECT ãã€ããªããªãã®ã¯å€æŽå¯èœãªå€æ°ã«ä»£å
¥ãã圱é¿ã§ãããã ãšãªããšperlæ¬äœã®ã³ãŒããèªãŸãªããšæèšã¯ã§ããŸããããPVãæãæååãããã¡ã®å
容ãå€ãããšããã®ã倿°ã«ä»£å
¥ãããšçåœå€ãšããŠã®æ§è³ªã倱ããšããããšã§ã¯ãªãã§ããããã 倿°ã«ä»£å
¥ããåã¯PVã®æãã¢ãã¬ã¹ã®å
ã«çåœå€ãšããŠã®æ§è³ªã衚ãå€ãããã®ã ãã倿°ã«ä»£å
¥ããããšã§PVãæãæååãæ®éã®æååã«ãªã£ãŠããŸãããšã§3çªç®ã«åºåãããããªæ®éã®å€ãšåºå¥ãã€ããªããªã£ãŠããŸãããšããããã«ãªã£ãŠãããã§ãã 5.36 次ã«åãã³ãŒãã5.36ã§å®è¡ããŠã¿ãå Žåã®DumpããçµæãèŠãŠãããŸãã SV = PVNV(0xca1030) at 0x9537e0 REFCNT = 2147483644 FLAGS = (IOK,NOK,POK,IsCOW,READONLY,PROTECT,pIOK,pNOK,pPOK) IV = 1 NV = 1 PV = 0x727be4 "1" [BOOL PL_Yes] CUR = 1 LEN = 0 SV = PVNV(0xca1070) at 0xcd3ba0 REFCNT = 1 FLAGS = (IOK,NOK,POK,IsCOW,pIOK,pNOK,pPOK) IV = 1 NV = 1 PV = 0x727be4 "1" [BOOL PL_Yes] CUR = 1 LEN = 0 SV = PVIV(0xcc86e0) at 0xcd3f48 REFCNT = 1 FLAGS = (IOK,pIOK,pPOK) IV = 1 PV = 0xcb14f0 "1"\0 CUR = 1 LEN = 10 5.36 ã®å Žåã倿°ã«ä»£å
¥ããŠãPVãæãæååãããã¡ã¯å€ãã£ãŠããŸããã ãŸããPVãæãæååãããã¡ãçå€ã§ããããšã瀺ã PL_Yes ã§ãããšããããšã衚瀺ãããŠããŸãã ãšããããã§ã çåœå€ã«ã¯PVã®æãã¢ãã¬ã¹ã®å
ã«çåœå€ãšããŠã®æ§è³ªã衚ãå€ããã 5.34 以åã¯çåœå€ã«å€æ°ã代å
¥ããããšã§PVãæãæååãæ®éã®æååã«ãªã£ãŠããŸã£ãŠãã 5.36 ããã¯çåœå€ã倿°ã«ä»£å
¥ããŠãPVã®æãã¢ãã¬ã¹ãå€ãããªããªã£ãã®ã§ãçåœå€ã§ãããšæç¢ºã«åºå¥ã§ããããã«ãªã£ã ãšããããšã®ããã§ãã forã«ãŒãã®ç¹°ãè¿ãããšã«è€æ°ã®èŠçŽ ãåç
§ããæ§æã®è¿œå foræã®æ¬åŒ§å
ã«ã¬ãã·ã«ã«å€æ°ãåæããããšã§è€æ°ã®èŠçŽ ã«å¯ŸããŠå埩åŠçãè¡ããããã«ãªããŸããã use v5.36 ; no warnings qw( experimental::for_list ) ; my %hash = ( a => 1 , b => 2 , ); for my ( $key , $value ) ( %hash ) { say " $key => $value " ; } b => 2 a => 1 keys ã䜿ããã«å®å
šã«ããã·ã¥ãã€ãã¬ãŒã·ã§ã³ã§ããŠäŸ¿å©ã«ãªããšæããŸãã my %hash = ( a => 1 , b => 2 , ); for my ( $key ) ( keys %hash ) { say " $key => $hash{ value } " ; } ãã¡ããäžåºŠã«3èŠçŽ ä»¥äžã®ç¹°ãè¿ããå¯èœã§ãã my @points = ( 0 , - 3 , 5 , 6 , 7 , 9 ); for my ( $x , $y , $z ) ( @points ) { ... } ãã®æ©èœã¯å®éšçãªæ©èœã§ãã 䜿çšããéã«çºçããèŠåãæå¶ããã«ã¯ no warnings qw( experimental::for_list ) ãå¿
èŠã§ãã try-catch æ§æã« finally block ã远å 5.34 ã§è¿œå ããã try-catch æ§æã§ãããtry, catch ãããã¯ãå®è¡ãããããšã«å®è¡ããåŠçãæžãã finally ãããã¯ãæžããããã«ãªããŸããã use v5.36 ; use experimental 'try' ; try { die 'hoge' ; say "Success" ; } catch ( $e ) { say "Failure" ; } finally { say "Regardless" ; } finally ãæžãããšã¯é »ç¹ã«ã¯ãªããšæããŸãããä»ã®èšèªã Try::Tiny ãªã©ã§æžããŠããã®ã« use feature 'try'; ã§ã¯æžããªãã®ãããŸãã¡ãªã®ã§è¯ãæ¹åããªãšæããŸãã defer æ§æã®è¿œå ã¹ã³ãŒããæãããšãã«åŸã§å®è¡ãããæ§æã§ãã use v5.36 ; use experimental 'defer' ; { say '1' ; defer { say '3' ; } say '2' ; } 1 2 3 ä»ãŸã§ Scope::Guard ãªã©ã䜿ã£ãŠæžããŠããåŠçãç°¡åã«æžãããšãã£ãæãã§ãã Go ã® defer æ§æãšã¯å®è¡ã¿ã€ãã³ã°ã倿°ã®æ±ããªã©æåãéãç¹ãããã®ã§ãã®ç¹ã¯æ°ãã€ããã»ããè¯ãããã§ãã *2 æ°ããçµã¿èŸŒã¿é¢æ°ã®è¿œå ãšãããã®çµã¿èŸŒã¿é¢æ°ãã€ã³ããŒãããä»çµã¿ã®è¿œå builtin ãšããã³ã¢ã¢ãžã¥ãŒã«ã远å ãããæ¢åã®çµã¿èŸŒã¿é¢æ°ãšã¯å¥ã«ã€ã³ã¿ããªã¿ããå®å
šä¿®é£Ÿåãªããã€ã§ãåŒã¶ããšãã§ãããŠãŒãã£ãªãã£é¢æ°ãããã€ã远å ãããŸããã say "Reference type of arrays is " , builtin::reftype([]); # Reference type of arrays is ARRAY ãŸãã builtin ã¢ãžã¥ãŒã«ã®é¢æ°ã¯ use æã« import ãã©ã¡ãŒã¿ãšããŠåæããããšã§çŽæ¥ã€ã³ããŒãããããšãã§ããŸãã use builtin 'reftype' ; say "Reference type of arrays is " , reftype([]); # Reference type of arrays is ARRAY ãã®ä»çµã¿ãã§ããããšã§ããã䜿ããã©ã³ã¢ã¢ãžã¥ãŒã«ããã€ã³ããŒãããŠäœ¿ã£ãŠããæ§ã
ãªãŠãŒãã£ãªãã£é¢æ°ããæ°ãã颿°ãçµã¿èŸŒã¿é¢æ°ãšããŠè¿œå ãããããªããŸããã çŸç¶ããã®çµã¿èŸŒã¿é¢æ°åšãã®ä»çµã¿åã³ãããã®çµã¿èŸŒã¿é¢æ°ã¯å®éšçæ©èœã®æ±ãã§ãã 䜿çšããéã«çºçããèŠåãæå¶ããã«ã¯ no warnings qw( experimental::builtin ) ãå¿
èŠã§ãã builtinã¢ãžã¥ãŒã«ã«å®è£
ãããŠããçµã¿èŸŒã¿é¢æ°ã玹ä»ããŸãã builtin::trim åŒæ°ã®æååã®å
é ãæ«å°Ÿã®ç©ºçœåã³æ¹è¡ããã¹ãŠåé€ãã颿°ã§ãã use v5.36 ; no warnings 'experimental::builtin' ; use builtin qw( trim ) ; print trim " hello! \n " ; # hello! 埮åŠãªäœ¿ãåãã¯ããããã§ãã chomp ã®äžäœäºæã«ãªãããã§ãã builtin::indexed åŒæ°ã®ãªã¹ãããªã¹ãå
ã®åèŠçŽ ã®é çªãšåèŠçŽ ã®ãã¢ã®ãªã¹ãã«ãããã®ãè¿ã颿°ã§ãã use v5.36 ; no warnings 'experimental::builtin' ; use builtin qw( trim indexed ) ; use Data::Dumper; warn Dumper [ indexed 'a' .. 'c' ]; # [ 0, 'a,', 1, 'b', 2, 'c' ] forã«ãŒãã®ç¹°ãè¿ãããšã«è€æ°ã®èŠçŽ ãåç
§ããæ§æãšäœ¿ããšforã«ãŒãã®äžã§indexãšé
åã®èŠçŽ ã®åç
§ã楜ã«ãªãããã§ãã for my ( $index , $value ) (indexed @array ) { ... } builtin::true, builtin::false, builtin::is_bool true ãš false ã¯ããããçå€ãšåœå€ãè¿ãã is_bool ã¯çåœå€ãšããŠäœãããå€ãã©ããã調ã¹ãŸãã trueãfalse ã§è¿ãããå€ã¯ !!1 ã !!0 ã§è¿ãããå€ãšåãã§ãã ãããã® true, false ã䜿ããªããŠãperlã¯ä»ãŸã§éãã©ããªå€ã§ãçåœå€ãšããŠè©äŸ¡ããããšããŠããã°ã©ã ãåäœãããããã§ããããçåœå€ãå®å®ããŠè¿œè·¡ã§ããããã«ãªã£ããã§ãè¿°ã¹ããšããã«ãããã®é¢æ°ã§è¿ãããçåœå€ã¯å
éšçã«çåœå€ãšããŠäœããããšèå¥ããããšãã§ããå€ãªã®ã§ãä»ã®èšèªãšã®çžäºéçšãããŒã¿åã®ã·ãªã¢ã©ã€ãŒãŒã·ã§ã³ãè¡ãããããªããŸãã use v5.36 ; no warnings 'experimental::builtin' ; use builtin qw( true false is_bool ) ; use Devel::Peek qw( Dump ) ; Dump true; Dump !! 1 ; SV = PVNV(0x18e9030) at 0x9537e0 REFCNT = 2147483644 FLAGS = (IOK,NOK,POK,IsCOW,READONLY,PROTECT,pIOK,pNOK,pPOK) IV = 1 NV = 1 PV = 0x727be4 "1" [BOOL PL_Yes] CUR = 1 LEN = 0 SV = PVNV(0x18e9030) at 0x9537e0 REFCNT = 2147483644 FLAGS = (IOK,NOK,POK,IsCOW,READONLY,PROTECT,pIOK,pNOK,pPOK) IV = 1 NV = 1 PV = 0x727be4 "1" [BOOL PL_Yes] CUR = 1 LEN = 0 use v5.36 ; no warnings 'experimental::builtin' ; use builtin qw( true false is_bool ) ; use Test::More; ok is_bool true; ok is_bool !! 1 ; ok !is_bool 1 ; done_testing; ok 1 ok 2 ok 3 1..3 builtin::weaken, builtin::unweaken, builtin::is_weak ãããã匱åç
§ãäœã颿°ã匱åç
§ã«ãªã£ãŠããåç
§ãéåžžã®åç
§ã«æ»ã颿°ã匱åç
§ãã©ãããå€å®ãã颿°ã§ãã å
ã
Scalar::Util ã«ãã£ã颿°ãæã£ãŠãã圢ã«ãªããŸãã builtin::blessed, builtin::refaddr, builtin::reftype ããããããã±ãŒãžãšçŽä»ããŠããåç
§ãã©ãããåç
§ã®ã¢ãã¬ã¹ãåç
§ã®çš®é¡ãè¿ã颿°ã§ãã ããããå
ã
Scalar::Util ã«ãã£ã颿°ãæã£ãŠãã圢ã«ãªããŸãã builtin::ceil, builtin::floor ããããåŒæ°ã®æ°å€ãåãäžããæ°å€ãåãæšãŠãæ°å€ãè¿ã颿°ã§ãã ãããã¯å
ã
POSIX ã«ãã£ã颿°ãæã£ãŠãã圢ã«ãªããŸãã Perl5.36 ãã§ãããŸã§ Perl5.36 ã宿ãããŸã§ã«PerléçºããŒã ã§ã倧ããªå€åããããŸããã 1ã€ç®ã¯åŸæ¥ã® pumpking ã«å€ãã£ãŠPSC(Perl Steering Council)ãšåŒã°ãããã³ã¢ããŒã ããéžã°ãã3人ã®ã¡ã³ããŒããæ§æãããéå¶è©è°äŒã«ãã£ãŠéçºãé²ããããããšã§ãã Perl5.34 ãPSCã®æä»£ã«ãªãªãŒã¹ãããŸããããPSCãçºè¶³ãããšãã«ã¯æ¢ã«ã»ãšãã©ã®éçºãçµäºããŠããŸããããŸãããã®ããã¯Perl7ãªã©Perlã®å°æ¥ãã©ãããããšãã£ãåé¡ãªã©ãæ®ã£ãŠãããå
·äœçãªå€æŽããããã¡ãã®æ¹ãäž»ãªä»äºã«ãªã£ãŠããŸããã 察ããŠPerl5.36ã§ã¯PSCã®ã¡ã³ããŒã«ãã£ãŠéçºããã»ã¹ãã¹ã±ãžã¥ãŒã«ã管çãããããã«ãªããŸããã PSCã®ã¡ã³ããŒãããŸã飿ºããŠéçºãé²ããçµæãPerl5.36ã§ã¯éå»ã®ããŒãžã§ã³ãšæ¯ã¹ãŠããå€ãã®æ©èœã®è¿œå ãæ¹åãè¡ããã®ã§ã¯ãªãããšæããŸãã 2ã€ç®ã¯RFCãå¶å®ãããããšã§ããèšèªã®å€æŽãæåºããæ£åŒãªããã»ã¹ãšããŠæšå¹Žå°å
¥ãããPerl5.36 ã®ææ¡ã管çããããã«äœ¿çšãããŸããã çµæãããªãéææ§ãé«ãç¶æ
ã§ææ¡ã管çã§ããŠããããã§ãã Perlã®RFC㯠ãã¡ãã®ãªããžã㪠ã§èŠãããšãã§ããŸãã ãŸãšã ãã®ããã« 5.36 ã§ã¯ä»¥åãšæ¯ã¹ãŠå€§ãããªå€æŽãããããå
¥ã£ãŠããŸãã ããã§ã¯æžããŠããªã倿Žãããããããã®ã§æ°ã«ãªã£ãæ¹ã¯ perldelta ãèªãã§ã¿ãŠãã ããã åè perldelta - what is new for perl v5.36.0 - Perldoc Browser perl v5.36.0 has been released – rjbs forgot what he was saying – blathering blatherskite *1 : Perl Steering Committee (PSC) #015 Meeting Notes - nntp.perl.org ãã å°æ¥çã«Perl7ããªãªãŒã¹ãããšããPerl7ã®æ©èœã use v7.0 ã§æå¹ã«ããããšã«ãªãã®ã§æ®åããããããã§ã *2 : Shogoããã® ãã¡ã ã®èšäºã§è©³ãããŸãšããããŠããŸã