PAVADINIMAS (NAME)
perldelta - kas naujo perl v5.8.3 versijoje
APRAŠYMAS (DESCRIPTION)
Š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ų.
- Nesuderinami pokyčiai
-
Nėra nesuderinamų su 5.8.2 versija pokyčių.
- Patobulinimai branduolyje
-
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 kadif (%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šytoSCALAR
metodo grąžinama TRUE, jei veiksmas vykstaeach
iteracijoje arba iškviečiamasFIRSTKEY
metodas, patikrinantis ar hešas nėra tuščias (perlas užtikrina kad kitaseach
taipogi prasidėsFIRSTKEY
iškvietimu). Plačiau apie tai skaitykite "SCALAR" in perltie dokumentaciją. - Moduliai ir pragmos
-
- CGI
- Cwd
- Digest
- Digest::MD5
- Encode
- ExtUtils::MakeMaker
-
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ą) - File::Spec
- FindBin
-
Dabar yra funkcija
again
kuri išsprendžia problemas, kurios iškyla kai moduliai, esantys skirtingose direktorijose nori pasinaudoti FindBin. - List::Util
-
Dabar nuorodas (references) galima paversti į skirtąsias tik skaitymui (read-only).
- Math::BigInt
- PodParser
- Pod::Perldoc
- POSIX
- Unicode::Collate
- Unicode::Normalize
- Test::Harness
-
cond_wait
turi naują dviejų argumentų formą. Pridėtacond_timedwait
.
- Pagalbinių programų patobulinimai
-
find2perl
dabar pagal nutylėjimą įjungia-print
raktą. Iki šiol jį reikėdavo nurodyti komandinėje eilutėje.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. - Nauja dokumentacija
-
Kai kuriose vietose dokumentacija buvo šiek tiek patobulinta ir standartizuota.
Patobulinta specialius kodo blokus (BEGIN, CHECK, INIT, END) aprašanti dokumentacija.
- Kodo greičio patobulinimai
- Įdiegimo ir tinkinimo (konfigūravimo) patobulinimai
-
Perlas dabar veikia OpenVMS I64 platformoje
- Rinktiniai riktų pataisymai
-
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.$a .. $b
dabar turėtų veikti kaip ir tikėtasi jei $a ar $b reikšmės yraundef
.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šsaugodavoerrno
, taigi bandant nuskaityti$^E
galėjo netikėtai pasikeistierrno
ir tuo pačiu$!
.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ą.
- Nauji arba pakeisti diagnostinai pranešimai
- Pakitęs C kodas
-
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.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. - Tinkinimas ir kompiliavimas
-
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 tikcase $variable $define)
šakai. Šis pokytis turėtų liesti tik platformų programuotojus, kurie rašo konfigūracines hints bylas. - Nauji testai
- Žinomos problemos
-
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.
- Problemos specifinės kuriai nors platformai
- Pranešimai apie riktus
-
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/
TAIP PAT ŽIŪRĖKITE (SEE ALSO)
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.