Perl 7 e phatlalalitsoe

Kopanong ea kajeno ea batho ba ntlafatsang puo ea Perl tsebisitsoe morero oa Perl 7 o tla ntšetsa pele ntlafatso ea lekala la Perl 5 ntle le ho etsa liphetoho tse kholo. Perl 7 e tla ba tokollo e ts'oanang Perl 5.32.0, ntle le litlhophiso tse ling tsa kamehla tse lumellanang haholoanyane le mekhoa ea morao-rao ea ntlafatso. Ho seng joalo, Perl 7 e tla lula e tšoana le Perl 5 mme e tla lula e lumellana le lits'ebetso tse ntlafalitsoeng pele.

Phetoho e kholo ea nomoro ea mofuta e tla sebetsa e le mofuta oa karohano bakeng sa phetoho ea mofuta o mocha bakeng sa ho eketsa ts'ebetso ea puo ea Perl ntle le tlolo e hlokomelehang ea tšebelisano ea morao.
Ho lokolloa ha Perl 7 ho lebelletsoe ho thusa ho hohela baetsi ba bacha ho Perl le ho thusa ho tsamaisa tšebetso ea ho kenyelletsa likarolo tse ncha tsa bohlokoa puong ha ho ntse ho bolokoa ho lumellana le motheo oa khoutu ea merero e teng. Nomoro ea 7 e khethiloe hobane Perl 6 e sebelisitsoe ho ntshetsa pele puo e teng hona joale e tsoela pele tlasa lebitso le arohaneng la Raku. Tokollo ea pele ea Perl 7 e lebelletsoe selemong se tlang. Lekala la Perl 5.32 e tla ba la ho qetela letotong la Perl 5 mme le reriloe ho tšehetsoa lilemo tse 5 ho isa ho tse 10.

Phetoho e hlokomelehang ho Perl 7 ke ho kenyelletsa "e thata", e bolelang ho lekola liphatlalatso tse fapaneng, ts'ebeliso ea lisupa tsa tšoantšetso le likabelo tse tlase. Ho sebelisa "sebelisa ka thata" ke mokhoa o motle ebile o sebelisoa ke bahlahisi ba bangata. Ka mokhoa o ts'oanang, ka boiketsetso ba rera ho thusa ts'ebetso ea temoso ("sebelisa litemoso").

Perl 7 e boetse e na le tšepo ea ho tsitsisa le ho nolofalletsa ka ho sa feleng likarolo tse ling tsa liteko tse seng li ntse li le teng, joalo ka li-signature tsa mosebetsi ("sebelisa 'masaeno'"), e lumellang, ha ho hlalosoa mosebetsi, ho tseba likhang tse kenang le ho hlahloba palo ea tsona (o ka ngola "sub foo ($ left, $ right) {" ho e-na le "sub foo { eaka($le letšehali, $le letona) ) = @_;"). Ba rera ho kenyelletsa ts'ehetso ea kamehla bakeng sa "isa" bakeng sa ho lekola hore na ntho ke mohlala oa sehlopha se itseng kapa sehlopha se nkiloeng ho sona ("haeba($obj isa Package::Name)", hammoho le ho hlakoloa ha poso. ts'ebetso (postderef) “$ sref->$*" sebakeng sa "${$sref }", "$aref->@*" sebakeng sa "@{ $aref }" le "$href->%{ ... }" sebakeng sa "%$href{ ... } "

Bahanyetsi ba ho holofala ka ho sa feleng ho Perl 7 ke:

  • Note ea mohala oa ntho e sa tobang ("ha ho na tšobotsi qw(e sa tobang)") ke mokhoa o tsoileng matsoho oa ho bitsa lintho, ho sebelisoa sebaka sebakeng sa "->" ("mokhoa $object @param" sebakeng sa "$object->$method(@param)"). Ka mohlala, sebakeng sa "my $cgi = CGI e ncha" u tla sebelisa "my $cgi = CGI->new".
  • Litlhaloso tsa faele tse se nang liphatlalatso tse fapaneng ("ha ho na bareword::filehandle") - ho sebelisa meaho e kang "FH e bulehileng, $file" e tla lebisa phosong, o hloka ho sebelisa "open my $fh, $file". Phetoho e ke ke ea ama litlhaloso tse tloaelehileng tsa faele STDIN, STDOUT, STDERR, ARGV, ARGVOUT le DATA.
  • Perl 4 style dummy multidimensional arrays and hashes ("ha ho multidimensional").
    Mohlala, ho hlakisa "$hash{1, 2}" ho tla lebisa phosong; o hloka ho sebelisa sehlopha sa mahareng, mohlala "$hash{join($;, 1, 2)}".

  • Ho phatlalatsa li-prototypes ka mokhoa oa Perl 4 (o hloka ho sebelisa "sebelisa :prototype()").

Merero e hole le ho feta, ba lebelletse ho thusa Unicode tšehetso ka boiketsetso, e tla boloka bahlahisi ho hlalosa "sebelisa utf8" khoutu. Bakeng sa li-module le lingoloa tse nang le mathata le litlhophiso tse ncha tsa kamehla, hoa khoneha ho khutlela boitšoarong ba Perl 5 ka ho eketsa mola "sebelisa compat::perl5" khoutu. Litlhophiso tsa motho ka mong le tsona li tla bolokoa 'me li ka fetoloa ka bonngoe.

Source: opennet.ru

Eketsa ka tlhaloso