Perl 7 က ကြေညာခဲ့သည်။

ယနေ့ Perl ဘာသာစကား developer များ၏ virtual ကွန်ဖရင့်တွင် ကြေငြာခဲ့သည် အစွန်းရောက်ပြောင်းလဲမှုများမပြုလုပ်ဘဲ Perl 7 ဌာနခွဲကို ချောမွေ့စွာ ဆက်လက်ဖွံ့ဖြိုးတိုးတက်စေမည့် Perl 5 ပရောဂျက်။ Perl 7 သည် အလားတူ ထွက်ရှိလာမည်ဖြစ်သည်။ perl 5.32.0ခေတ်မီဖွံ့ဖြိုးတိုးတက်မှုအလေ့အကျင့်များနှင့် ပိုမိုကိုက်ညီသော အခြားပုံသေဆက်တင်များမှလွဲ၍ မဟုတ်ပါက Perl 7 သည် Perl 5 ကဲ့သို့ ဆက်လက်ရှိနေမည်ဖြစ်ပြီး ယခင်ထုတ်လုပ်ထားသော အပလီကေးရှင်းများနှင့် တွဲဖက်အသုံးပြုနိုင်မည်ဖြစ်သည်။

ဗားရှင်းနံပါတ်တွင် သိသာထင်ရှားသောပြောင်းလဲမှုသည် နောက်ပြန်လိုက်ဖက်မှုကို သိသာထင်ရှားစွာချိုးဖောက်ခြင်းမရှိဘဲ Perl ဘာသာစကား၏လုပ်ဆောင်နိုင်စွမ်းကို တိုးမြှင့်ရန်အတွက် မော်ဒယ်အသစ်သို့ကူးပြောင်းခြင်းအတွက် ခွဲထွက်ခြင်းတစ်မျိုးအဖြစ် လုပ်ဆောင်မည်ဖြစ်သည်။
Perl 7 ၏ထွက်ရှိမှုသည် Perl ထံ developer အသစ်များကိုဆွဲဆောင်ရန်နှင့် ရှိပြီးသားပရောဂျက်များ၏ကုဒ်အခြေခံနှင့် လိုက်ဖက်ညီမှုကို ထိန်းသိမ်းထားစဉ် ဘာသာစကားတွင် သိသာထင်ရှားသောအင်္ဂါရပ်အသစ်များထည့်ခြင်းလုပ်ငန်းစဉ်ကို ချောမွေ့စေရန်ကူညီပေးလိမ့်မည်ဟုမျှော်လင့်ရသည်။ Perl 7 ကို ယခုအခါ ဘာသာစကား ဖွံ့ဖြိုးတိုးတက်ရန် အသုံးပြုထားသောကြောင့် နံပါတ် 6 ကို ရွေးချယ်ခဲ့ခြင်း ဖြစ်သည်။ ဖွံ့ဖြိုးဆဲ သီးခြားနာမည် Raku အောက်မှာ။ Perl 7 ၏ ပထမဆုံးထွက်ရှိမှုကို လာမည့်နှစ်တွင် မျှော်လင့်ထားသည်။ Perl 5.32 ဌာနခွဲသည် Perl 5 စီးရီးတွင် နောက်ဆုံးဖြစ်လာမည်ဖြစ်ပြီး 5 နှစ်မှ 10 နှစ်အထိ ထောက်ပံ့ပေးရန် စီစဉ်ထားသည်။

Perl 7 တွင် အထင်ရှားဆုံးပြောင်းလဲမှုမှာ "ပါဝင်ခြင်း"တိကျသော“ပြောင်းလဲနိုင်သော ကြေငြာချက်များကို တင်းတင်းကျပ်ကျပ်စစ်ဆေးခြင်း၊ သင်္ကေတညွှန်ပြချက်များကို အသုံးပြုခြင်းနှင့် လုပ်ရိုးလုပ်စဉ်အခွဲများကို အသုံးပြုခြင်းတို့ကို ဆိုလိုသည်။ "use strict" ကိုအသုံးပြုခြင်းသည် ပုံစံကောင်းဖြစ်ပြီး developer အများစုအသုံးပြုသည်။ အလားတူ၊ ပုံသေအားဖြင့် ၎င်းတို့သည် သတိပေးချက်လုပ်ဆောင်ခြင်းကို ဖွင့်ရန်စီစဉ်ထားသည် (“သတိပေးချက်များကိုအသုံးပြုပါ။«) ။

Perl 7 ကဲ့သို့သော ရှိနှင့်ပြီးသား စမ်းသပ်အင်္ဂါရပ်အချို့ကို ပုံမှန်အတိုင်း တည်ငြိမ်စေပြီး ဖွင့်ရန်လည်း မျှော်လင့်ပါသည်။ function လက်မှတ်များ (“အင်္ဂါရပ် 'လက်မှတ်များ'” ကို အသုံးပြုပါ)၊ လုပ်ဆောင်ချက်တစ်ခုကို သတ်မှတ်သည့်အခါ၊ ဝင်လာသော အကြောင်းပြချက်များကို ဆုံးဖြတ်ရန်နှင့် ၎င်းတို့၏ နံပါတ်ကို အလိုအလျောက်စစ်ဆေးရန် ခွင့်ပြုသည့် (“sub foo ($left, $right) {” အစား “sub foo {” အစား သင်ရေးနိုင်သည်။ my($left,$right) ) = @_;")။ အရာဝတ္ထုတစ်ခုသည် သတ်မှတ်ထားသော အတန်း၏ သာဓကတစ်ခု သို့မဟုတ် ၎င်းမှဆင်းသက်လာသော အတန်း (“if($obj isa Package::Name)” နှင့် postfix ကိုးကားခြင်းရှိ၊ လုပ်ဆောင်ချက်များ (postderef) "${$sref }", "$aref->@*" နှင့် "@{ $aref }" နှင့် "$href->%{ အစား "$sref->$*" အစား၊ "%$href{ ... } " အစား }"

Perl 7 တွင် မူရင်းအတိုင်း ပိတ်ထားရခြင်းအတွက် ပြိုင်ဖက်များမှာ-

  • သွယ်ဝိုက်သော အရာဝတ္ထု ခေါ်ဆိုခြင်း အမှတ်အသား ("အင်္ဂါရပ်မရှိ q(သွယ်ဝိုက်)") သည် "->" ("$object->$method(@param)" အစား space ကိုအသုံးပြု၍ အရာဝတ္ထုများကို ခေါ်ဆိုခြင်း၏ အမွေအနှစ်နည်းလမ်းတစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်၊ "my $cgi = new CGI" အစား "my $cgi = CGI->new" ကို အမြဲသုံးပါတယ်။
  • ပြောင်းလဲနိုင်သော ကြေငြာချက်များမပါသော ဖိုင်ဖော်ပြချက်များအား ရှင်းရှင်းလင်းလင်းဖော်ပြထားသည် ("bareword::filehandle မရှိပါ။") - "open FH၊ $file" ကဲ့သို့သော တည်ဆောက်မှုများကို အသုံးပြုခြင်းဖြင့် အမှားအယွင်းတစ်ခုဆီသို့ ဦးတည်သွားမည်ဖြစ်ပြီး သင်သည် "open my $fh, $file" ကို အသုံးပြုရန် လိုအပ်သည်။ ပြောင်းလဲမှုသည် စံဖိုင်ဖော်ပြချက် STDIN၊ STDOUT၊ STDERR၊ ARGV၊ ARGVOUT နှင့် DATA တို့ကို ထိခိုက်မည်မဟုတ်ပါ။
  • Perl 4 စတိုင် dummy multidimensional arrays နှင့် hashes ("ဘက်ပေါင်းစုံ မရှိပါ။«) ။
    ဥပမာအားဖြင့်၊ “$hash{1, 2}” ကို သတ်မှတ်ခြင်းသည် အမှားအယွင်းတစ်ခုဆီသို့ ဦးတည်သွားလိမ့်မည်၊ ဥပမာ “$hash{join($;, 1, 2)}” ကို အသုံးပြုရန် လိုအပ်ပါသည်။

  • Perl 4 စတိုင်ဖြင့် ရှေ့ပြေးပုံစံများကို ကြေညာခြင်း ("use :prototype()") ကို အသုံးပြုရန် လိုအပ်သည်။

ပိုမိုဝေးကွာသောအစီအစဥ်များတွင်၊ ၎င်းတို့သည် ကုဒ်တွင် "utf8" ကို အသုံးပြုရန် developer များအား သတ်မှတ်ခြင်းမှ ကယ်တင်မည့် default အနေဖြင့် Unicode ပံ့ပိုးမှုကို ဖွင့်ရန် မျှော်လင့်ထားသည်။ ပုံသေဆက်တင်အသစ်များနှင့် ပြဿနာရှိသော မော်ဂျူးများနှင့် script များအတွက်၊ ကုဒ်သို့ "use compat::perl5" ကိုထည့်ခြင်းဖြင့် Perl 5 အပြုအမူသို့ ပြန်ပြောင်းနိုင်သည်။ တစ်ဦးချင်းဆက်တင်များကိုလည်း သိမ်းဆည်းမည်ဖြစ်ပြီး တစ်ဦးချင်း ပြောင်းလဲနိုင်သည်။

source: opennet.ru

မှတ်ချက် Add