ఒక సంవత్సరం అభివృద్ధి తర్వాత ప్రచురించిన పెర్ల్ ప్రోగ్రామింగ్ లాంగ్వేజ్ యొక్క కొత్త స్థిరమైన శాఖ విడుదల - 5.44... ఎప్పుడు సిద్ధమవుతున్నారు కొత్త విడుదలలో సుమారు 270 లైన్ల కోడ్ మార్చబడింది (డాక్యుమెంటేషన్ మరియు ఆటోమేటిక్గా రూపొందించబడిన కోడ్ - 110 మినహాయించి), ఈ మార్పులు 860 ఫైళ్లను ప్రభావితం చేశాయి మరియు దీని అభివృద్ధిలో 71 మంది డెవలపర్లు పాల్గొన్నారు.
పదమూడు సంవత్సరాల క్రితం ఏర్పాటు చేసిన స్థిరమైన అభివృద్ధి షెడ్యూల్ ప్రకారం 5.44 బ్రాంచ్ విడుదల చేయబడింది. ఈ షెడ్యూల్ ప్రకారం సంవత్సరానికి ఒకసారి కొత్త స్థిరమైన బ్రాంచ్లు మరియు ప్రతి మూడు నెలలకు ఒకసారి చిన్న విడుదలలు చేయాలి. పెర్ల్ 5.44.0 అమలు సమయంలో కనుగొనబడిన అత్యంత ముఖ్యమైన బగ్లను సరిచేస్తూ, మొదటి చిన్న విడుదల అయిన పెర్ల్ 5.44.1, సుమారు ఒక నెలలో విడుదల కానుంది. పెర్ల్ 5.44 విడుదలతో, 5.40 బ్రాంచ్కు మద్దతు ముగిసింది; భవిష్యత్తులో తీవ్రమైన భద్రతా సమస్యలు కనుగొనబడితేనే దానికి నవీకరణలు విడుదల చేయబడవచ్చు. ప్రారంభం అయింది 2027 మొదటి అర్ధభాగంలో పెర్ల్ 5.46 యొక్క స్థిరమైన విడుదలకు ఆధారంగా ఉండే ప్రయోగాత్మక 5.45 బ్రాంచ్ యొక్క అభివృద్ధి ప్రక్రియ, ఒకవేళ నిర్ణయం తీసుకోకపోతే వెళ్ళండి 7.x సంఖ్యకు.
కీ మార్పులు:
- చేర్చబడింది పేరు పెట్టబడిన పారామితులను ఉపయోగించే ప్రయోగాత్మక అవకాశం సంతకాలు ఫంక్షన్కు పంపబడే వేరియబుల్స్ జాబితాను, ఫంక్షన్ బాడీలో కాకుండా, దాని డిక్లరేషన్ సమయంలోనే నిర్వచించే ఫంక్షన్లు. ఈ కొత్త ఫీచర్, పారామీటర్లను కచ్చితమైన క్రమంలో కాకుండా, కీ/వాల్యూ జతలను మరియు హాష్లలో ఎలిమెంట్లను కేటాయించడాన్ని పోలిన సింటాక్స్ను ఉపయోగించి, ఏ క్రమంలోనైనా పంపడానికి అనుమతిస్తుంది:
- పాత సింటాక్స్: sub f { my ($x, $y) = @_; …} f(1, 2);
- సంతకాలు: sub f ($x, $y) { … } f(1, 2);
- పేరున్న పారామీటర్లతో సంతకాలు: sub f (:$x, :$y) { … } f(y => 2, x => 1);
- బహుళ వేరియబుల్స్తో కూడిన foreach లూప్లలో అలియాస్లను (పాయింటర్లకు పాయింటర్లు) ఉపయోగించడానికి ప్రయోగాత్మక మద్దతు జోడించబడింది. ఈ ఫీచర్, ఒకే లూప్ ఇటరేషన్లో బహుళ విలువలను తిరిగి పొందేటప్పుడు foreach లూప్లో ఒక అలియాస్ను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఉదాహరణకు, హ్యాష్ యొక్క కీలు మరియు విలువలు రెండింటిపై ఇటరేట్ చేస్తున్నప్పుడు మీరు ఒక అర్రేతో హ్యాష్ ఎలిమెంట్ కోసం అలియాస్ను సృష్టించవచ్చు: use v5.44; use feature qw( refaliasing declared_refs ); my %hash = ( one => [1], two => [2, 2], ); foreach my ( $key, @items ) ( %hash ) { say "The $key array contains: @items"; } # వెర్షన్ 5.44కి ముందు, డీరిఫరెన్సింగ్ అవసరమయ్యేది: foreach my ( $key, $var ) ( %hash ) { say "The $key array contains: @$var"; } # ప్రయోగాత్మక రీఫాలియాసింగ్ మరియు డిక్లేర్డ్_రెఫ్స్ ఫీచర్లు లేకుండా: foreach my $key (keys %hash) { say "The $key array contains: @{$hash{$key}}"; }
- రెగ్యులర్ ఎక్స్ప్రెషన్స్లో అమలు ప్రయోగాత్మక 'enhanced_xx' మోడ్, స్క్వేర్ బ్రాకెట్లలోని ([a-zA-Z]) క్యారెక్టర్ క్లాస్లతో /xx మాడిఫైయర్ను ఉపయోగించడానికి అనుమతిస్తుంది, తద్వారా వాటిని బహుళ పంక్తులలో విభజించడానికి లేదా వ్యాఖ్యలను చేర్చడానికి వీలవుతుంది. ఉదాహరణకు, if ($text =~ m/[a-zA-Z]/){ అనే కండిషన్ను ఈ విధంగా వ్రాయవచ్చు: if ($text =~ m/[ a-z # lowercase letters A-Z # uppercase letters ]/xx) {
- సూడో-రాండమ్ నంబర్ జనరేటర్, ఎంట్రోపీకి మద్దతు ఇచ్చే సిస్టమ్లలో దానిని పొందడానికి getentropy() సిస్టమ్ కాల్ను ఉపయోగిస్తుంది.Linux, బిఎస్డి, macOSఇతర సిస్టమ్లలో, /dev/urandom డివైస్ నుండి చదవడం ద్వారా లేదా సమయం, ప్రాసెస్ ID మరియు పాయింటర్ విలువ యొక్క హాష్ను ఉపయోగించడం ద్వారా ఎంట్రోపీని పొందుతారు.
- స్పెసిఫికేషన్ మద్దతు జోడించబడింది యునికోడ్ 17.0.
- ఐడెంటిఫైయర్ పేర్లు మరియు రెగ్యులర్ ఎక్స్ప్రెషన్ గ్రూపుల కోసం యూనికోడ్ నియమాలను ఖచ్చితంగా పాటించడం జరిగింది, దీనిలో భాగంగా గతంలో w క్లాస్ పరిధిలోకి వచ్చే సుమారు 160 యూనికోడ్ అక్షరాలను ఇప్పుడు నిషేధించారు. ఉదాహరణకు, అన్ని అక్షరాలు, అంకెలు మరియు అండర్స్కోర్ క్యారెక్టర్ను కవర్ చేసే w క్లాస్, ఇప్పుడు నిజమైన అక్షరాలలా కనిపించే కానీ అక్షరాలు కాని, వృత్తంలో ఉన్న లాటిన్ అక్షరాలను మినహాయిస్తుంది. ఈ ప్రవర్తన మార్పు utf8 మోడ్ను ఉపయోగించే ప్రోగ్రామ్లను మాత్రమే ప్రభావితం చేస్తుంది.
- Perl_study_chunk ఫంక్షన్లలో బఫర్ ఓవర్ఫ్లోల వలన ఏర్పడిన లోపాలను సరిచేయడం జరిగింది (CVE-2026-8376, 32-బిట్ అసెంబ్లీలలో కనిపిస్తుంది) మరియు S_measure_struct (CVE-2026-57432), అలాగే రెగెక్స్ ఇంజిన్లో 16-బిట్ కౌంటర్ ఓవర్ఫ్లో (CVE-2026-13221), దీనివల్ల రెగ్యులర్ ఎక్స్ప్రెషన్ విఫలం కావచ్చు.
- goto ఆపరేటర్ను ఉపయోగించి లూప్లు మరియు బ్లాక్ నిర్మాణాలలోని స్థానాలకు వెళ్లడం నిషేధించబడింది. ఈ ఫీచర్ 2010లో రద్దు చేయబడింది.
- పూర్ణసంఖ్యల కూడిక, తీసివేత మరియు గుణకారం, ఫంక్షన్ సిగ్నేచర్ ప్రాసెసింగ్, మరియు కంపైల్ సమయంలో తెలిసిన స్ట్రింగ్ కీలతో కీ/విలువ జాబితాల నుండి హాష్లను నింపడం వంటి వాటిని వేగవంతం చేయడానికి పనితీరు ఆప్టిమైజేషన్లు చేయబడ్డాయి.
మూలం: linux.org.ru
