perldelta - kas naujo perl v5.8.3 versijoje
Šiame dokumente yra aprašomi perlo 5.8.2 ir 5.8.3 versijų skirtumai
Jeigu jūs atnaujinate perlo versiją iš ankstesnės (tarkim 5.6.1) versijos, pirma perskaitykite perl58delta, kur yra aprašyti pokyčiai tarp 5.6.0 ir 5.8.0, perl581delta bei perl582delta, kuriose aprašyti skirtumai tarp 5.8.0, 5.8.1 ir 5.8.2 versijų.
Nėra nesuderinamų su 5.8.2 versija pokyčių.
Pririštiems per tie mechanizmą asociatyviesiems masyvams (hešams) dabar galima aprašyti metodą SCALAR. Jis yra iškviečiamas tada kai pririštas hešas yra naudojamas skaliariniame kontekste, kaip kad
tie
SCALAR
if (%tied_hash) { ... }
Iki šiol tokiu atveju %tied_hash grąžindavo tai kas būtų buvę grąžinama prieš pririšant hešą (taigi dažniausiai 0). Šiuo metu nesant aprašyto SCALAR metodo grąžinama TRUE, jei veiksmas vyksta each iteracijoje arba iškviečiamas FIRSTKEY metodas, patikrinantis ar hešas nėra tuščias (perlas užtikrina kad kitas each taipogi prasidės FIRSTKEY iškvietimu). Plačiau apie tai skaitykite "SCALAR" in perltie dokumentaciją.
%tied_hash
each
FIRSTKEY
Dabar gali sugeneruoti SIGNATURE bylą jei yra įdiegtas Module::Signature modulis. Tereikia metodui WriteMakefile() perduoti (SIGN => 1). (Modulį patobulino Autrijus Tang gavęs The Perl Foundation stipendiją)
WriteMakefile()
Dabar yra funkcija again kuri išsprendžia problemas, kurios iškyla kai moduliai, esantys skirtingose direktorijose nori pasinaudoti FindBin.
again
Dabar nuorodas (references) galima paversti į skirtąsias tik skaitymui (read-only).
cond_wait turi naują dviejų argumentų formą. Pridėta cond_timedwait.
cond_wait
cond_timedwait
find2perl dabar pagal nutylėjimą įjungia -print raktą. Iki šiol jį reikėdavo nurodyti komandinėje eilutėje.
find2perl
-print
Atsirado nauja pagalbinė programa prove, kuria galima nesunkiai paleisti atskirus regresijos testus per komandinę eilutę. prove yra Test::Harness modulio dalis, tad senesnių perlo versijų vartotojai ją gali gauti per CPAN.
prove
Kai kuriose vietose dokumentacija buvo šiek tiek patobulinta ir standartizuota.
Patobulinta specialius kodo blokus (BEGIN, CHECK, INIT, END) aprašanti dokumentacija.
Perlas dabar veikia OpenVMS I64 platformoje
Panaudojus substr() UTF8 simbolių eilutei ir paskui bandant ją pasiekti kartais būdavo grąžinamos šiūkšlės. Tai buvo todėl, kad į laikinąją atmintinę būdavo įrašomi neteisingi simbolių nuotoliai nuo eilutės pradžios. Šis riktas pataisytas.
substr()
$a .. $b dabar turėtų veikti kaip ir tikėtasi jei $a ar $b reikšmės yra undef.
$a .. $b
undef
Dabar be problemų galima naudoti unikodinius asociatyviųjų masyvų (hešų) raktus.
$^E nuskaitymas dabar išsaugo $!. Anksčiau C kodas, kuris slepiasi po $^E neišsaugodavo errno, taigi bandant nuskaityti $^E galėjo netikėtai pasikeisti errno ir tuo pačiu $!.
$^E
$!
errno
Grįžtamosios funkcijos (vėl) veikia su C++. 5.8.2 versijoje vienas klaidos pataisymas netyčia sugadino kai kurių C++ rašytų Perlo modulių kompiliavimą.
Asociatyviųjų masyvų (hešų) kodas buvo sumažintas išimant kai kuriuos pasikartojančius kodo fragmentus. Išorinė kodo sąsaja nepasikeitė, tad be aukščiau išvardintų riktų pataisymų niekas neturėjo pasikeisti.
hv_clear_placeholders dabar yra perlo API dalis.
hv_clear_placeholders
Aptvarkytos kai kurios C makro funkcijos. Ypač tos, kurios sukuria laikinus vietinius kintamuosius - dabar jos turėtų atsargiau parinkti šiems kintamiesiems vardą taip išvengiant riktų susijusių su skirtingais kintamaisiais turinčiais tuos pačius vardus.
signal.h dabar visada įtraukiamas.
signal.h
Configure dabar iškviečia grįžtamąsias funkcijas (callbacks) nepaisydamas kintamojo kuriam jis yra kviečiamas reikšmės. Anksčiau šios funkcijos buvo iškviečiamos tik case $variable $define) šakai. Šis pokytis turėtų liesti tik platformų programuotojus, kurie rašo konfigūracines hints bylas.
Configure
case $variable $define)
Turime krūvą nepataisytų riktų. Riktų taisymas ir tvarkymas nėra pats įdomiausias darbas, ypač bendruomenei kuri viską daro be atlygio.
Perl5 programuotojų komanda šiuo metu daro kai kuriuos patobulinimus, kurie turėtų padėti išspręsti šias problemas 2004-ųjų metų pradžioje.
Jeigu manote jog radote riktą, peržvelkite paskutines temas comp.lang.perl.misc naujienų grupėje jei perlo riktų duomenų bazę adresu http://bugs.perl.org. Papildomos informacijos taip pat gali būti ir pagrindinėje perlo svetainėje http://www.perl.org.
Jeigu manote kad radote rktą, kurio dar niekas neaptiko, pasinaudokite perlbug programa, kuri yra perlo dalis. Pasistenkite kuo labiau sumažinti kodo ištrauką, kuria parodomas riktas. Jūsų rikto aprašymas, kartu su perl -V rezultatu, bus išsiųstas adresu perlbug@perl.org ir išanalizuotas perlo programuotojų komandos. Visus perlo riktus galite matyti adresu at http://bugs.perl.org/
perl -V
Changes byla labai detaliai aprašo visus pokyčius.
INSTALL byla aprašo kaip įdiegti perlą.
README byloje yra aprašyti bendri dalykai.
Artistic ir Copying bylose yra informacija apie perlo autorines teises.
To install POD2::LT, copy and paste the appropriate command in to your terminal.
cpanm
cpanm POD2::LT
CPAN shell
perl -MCPAN -e shell install POD2::LT
For more information on module installation, please visit the detailed CPAN module installation guide.