ፐርል 7 ወደ ኋላ ተኳሃኝነትን ሳያቋርጥ የፐርል 5 እድገትን ያለችግር ይቀጥላል

የፐርል ፕሮጄክት አስተዳደር ካውንስል የፔርል 5 ቅርንጫፍን የበለጠ ለማሳደግ እና የፐርል 7 ቅርንጫፍ የመመስረት እቅዶችን ዘርዝሯል።በውይይቱም የአስተዳደር ምክር ቤቱ ለፐርል 5 ከተፃፈው ኮድ ጋር ተኳሃኝነትን መጣስ ተቀባይነት እንደሌለው ተስማምቷል። ተኳኋኝነት ድክመቶችን ለማስተካከል አስፈላጊ ነው. ምክር ቤቱ በተጨማሪም ቋንቋው በዝግመተ ለውጥ እና አዳዲስ ባህሪያትን በትኩረት ማስተዋወቅ እና አዳዲስ ፈጠራዎችን በቀላሉ ማግኘት እና ጉዲፈቻን ማበረታታት ይገባል ሲል ደምድሟል።

ወደ ኋላ ተኳኋኝነትን የሚሰብሩ ለውጦች በነባሪነት በፐርል 7 ቅርንጫፍ ውስጥ እንዲካተቱ ከመጀመሪያዎቹ ዓላማዎች በተለየ፣ አዲሱ ዕቅድ የፐርል 5ን ቅርንጫፍ ከነባሩ ኮድ ጋር ያለውን የኋሊት ተኳሃኝነት ሳያቋርጥ ቀስ በቀስ ወደ Perl 7 ማሸጋገር ነው። የፐርል 7.0 ልቀት ከቀጣዩ የፐርል 5.xx ቅርንጫፍ በፅንሰ-ሃሳብ የተለየ አይሆንም።

የፔርል 5 አዳዲስ ልቀቶች እንደበፊቱ ይቀጥላሉ - ከአሮጌው ኮድ ጋር የማይጣጣሙ አዳዲስ ባህሪያት ወደ ቅርንጫፍ የሚታከሉት ልክ እንደበፊቱ ሁሉ "የአጠቃቀም ሥሪት" ወይም "የአጠቃቀም ባህሪ" ፕራግማ በግልፅ ከተገለጸ ብቻ ነው የሚካተቱት። በኮዱ ውስጥ. ለምሳሌ፣ ፐርል 5.010 አዲስ ቁልፍ ቃል "ይ" አስተዋውቋል፣ ነገር ግን ነባሩ ኮድ "say" የተሰየሙ ተግባራትን ሊጠቀም ስለሚችል ለአዲሱ ቁልፍ ቃል ድጋፍ የነቃው የ"አጠቃቀም ባህሪ 'say'" pragmaን በግልፅ በመግለጽ ብቻ ነው።

ወደ ቋንቋው የተጨመረ አዲስ አገባብ፣ ይህም በቀደሙት እትሞች ላይ ሲሰራ፣ ልዩ ፕራግማዎችን መግለጽ ሳያስፈልገው ወዲያውኑ ይገኛል። ለምሳሌ፣ ፐርል 5.36 በአንድ ጊዜ የበርካታ ዝርዝር እሴቶችን ለማስኬድ ቀለል ያለ አገባብ ያስተዋውቃል (“foreach my ($key, $ value) (% hash) {”) ወዲያውኑ የሚገኝ፣ ያለ “አጠቃቀም በኮድ ውስጥም ቢሆን። v5.36" pragma.

አሁን ባለው መልኩ፣ ፐርል 5.36 5.36 መስተጋብርን የሚሰብሩ ባህሪያትን ለማንቃት "v13 ይጠቀሙ" pragma ይጠቀማል ('say', 'state', 'current_sub', 'fc', 'lexical_subs', 'signatures', 'isa '፣ ' bareword_filehandles'፣ 'bitwise'፣ 'evalbytes'፣ 'postderef_qq'፣ 'unicode_eval' እና 'unicode_strings')፣ የ"ጥብቅ አጠቃቀም" እና "ማስጠንቀቂያዎችን ተጠቀም" ሁነታዎችን በነባሪ አንቃ እና ለቀድሞው ቀጥተኛ ያልሆነ ማስታወሻ ድጋፍን አሰናክል። ዕቃዎችን መጥራት (ከ«->» ቦታ ሲጠቀም) እና Perl 4 style multidimensional arrays እና hashes («$ hash{1, 2}»)።

በቂ ለውጦች ሲከማቹ፣ በሚቀጥለው የፐርል 5.x ልቀት ፈንታ፣ የፐርል 7.0 ስሪት ይፈጠራል፣ ይህም የመንግስት ቅጽበታዊ ገጽ እይታ ይሆናል፣ ነገር ግን ከፐርል 5 ጋር ሙሉ በሙሉ ወደ ኋላ ተኳሃኝ ሆኖ ይቆያል። ለውጦችን እና ቅንብሮችን ለማንቃት። ተኳኋኝነትን የሚሰብር፣ በኮዱ ላይ የ"v7 አጠቃቀም" pragmaን በግልፅ ማከል ያስፈልግዎታል። እነዚያ። ከ "v7" ፕራግማ ጋር ያለው ኮድ እንደ "ዘመናዊ ፐርል" ሊታከም ይችላል, በውስጡም ተኳሃኝነትን የሚሰብሩ የቋንቋ ለውጦች ይገኛሉ, እና ያለ - "ወግ አጥባቂ ፐርል", ካለፉት ልቀቶች ጋር ሙሉ በሙሉ ወደ ኋላ ተኳሃኝ ሆኖ ይቆያል.

ምንጭ: opennet.ru

አስተያየት ያክሉ