|
|||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
bootable [55]
commercial [7] no-commercial [42] unclassified [20] [7]
Software (10844)
|
Perl 5.24.0 a vše okoloPo roce tu dnes máme zase novou major verzi perlu 5. Stručně nahlédneme, co verze 5.24 přináší.
Jako každý rok i letos vychází nová verze perlu. Hodně věcí ohledně verzování a souvisejících věcí jsme popsali loni při představování změn v perl 5.22. Loni se verze 5.22 o něco opozdila a release vyšel až na začátek června, což nechtěl Ricardo Signes opakovat a tak letos máme novou major verzi naopak o něco dříve. Hlavním maintainerem řady 5.24 je tedy opět Ricardo Signes. Je to ale naposledy, v p5p konferenci totiž uvedl, že hlavním "pumpkinem" bude od verze 5.26 Izraelec Sawyer X. Koho zajímá, co je Sawyer za člověka a ovládá ruštinu nebo použije nějaký překladač, může si přečíst 3 roky starý rozhovor s ním. Změn je letos o něco méně než obvykle, proto bude dnešní článek stručnější. To ale neznamená, že by tam nebylo nic zajímavého - naopak, pokrok verze 5.24 je kvůli rychlosti jedním z největších za posledních mnoho let. Seznam změn je již tradičně v souboru RychlostVerze 5.10 byla velmi rychlá a od té doby až do 5.20 se s každou verzí perl mírně zpomaloval. Poté ale byl konečně ve verzi 5.22 udělán obrovský kus práce a rychlost se vrátila tam, kde byla ve verzi 5.10 (a možná ještě o malý kousek dále). Letos ve verzi 5.24 se vývojáři na výkon opět zaměřili a posunuli ho hned o celou čtvrtinu! Tedy v tom smyslu, že "průměrný program" poběží o čtvrtinu kratší dobu. Hlavně z tohoto důvodu nyní stojí za to vážně uvažovat o upgradu. Základní aritmetické operace včetně inkrementace by měly být o trochu rychlejší, je rychlejší přiřazování, lehce rychlejší bude i volání podprogramů, case-insensitive jazyky nyní přeskakují kontrolu modifikátoru Postfixové dereferencování nyní v jádře jazykaOd verze 5.20 máme v perlu experimentální featuru postfix dereferencing a tedy po zadání
jsme mohli featuru využívat. Od verze 5.24 již experimentální není a předchozí řádek není nadále potřeba. Článek o perlu 5.20 na linuxsoftu nevyšel a tak se podívejme nyní, o co přesně jde. V předchozích verzích perlu jsme byli zvyklí používat circumfix dereferencing - referenci na pole jsme pro získání pole museli napsat mezi
S postfixovým dereferencováním to půjde i takto:
Hlavní výhodu vidím v tom, že programátor může psát kontinuálněji a nemusí se vracet, aby před proměnnou přidal levou část circumfixu, což je potřeba každou chvíli. Za druhé samozřejmě bude nutných méně závorek v zřetězení více dereferencí, což lehce usnadní čitelnost a možná je takový zápis systematičtější, i když to už dost záleží na úhlu pohledu. Lépe než na předchozích ukázkách bez zanořených struktur to lze demonstrovat například na poli polí:
Pro zajímavost uveďme, že podobně můžeme získat i poslední index:
Postfixové dereferencování funguje samozřejmě se všemi ostatními datovýmy typy. Místo
můžeme psát
Nová boundary pro zalomení řádkuKe stávajícím boundaries představeným ve verzi 5.22 přibyla další: Tato featura vychází z modulu Unicode::LineBreak. Dále se lehce mění chování Parsování hashbang řádkuPokud voláme perlový program explicitně s příkazem
nikoliv pouze
pak vynucujeme perlový interpret. Není moc známá věc, že sám perl řádek
zobrazí se skutečně seznam souborů v aktuálním adresáři. To proto, že perl předává program jinému interpretu, pokud se řetězec Toto sice není nijak extra zajímavá změna, ale rozepisujeme ji zde především proto, že se někdy může hodit informace, jak se příkaz Experimentální featura autoderef končíJiž delší dobu se ví, že autoderef v perlu končí. Nadále tak není možné volat S postfixovou dereferencí nicméně bude místo této featury možné napsat něco takového:
|
|
||||
KOMENTARZE | ||||
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
1. |
Pacman linux Download: 4873x |
2. |
FreeBSD Download: 9063x |
3. |
PCLinuxOS-2010 Download: 8561x |
4. |
alcolix Download: 10943x |
5. |
Onebase Linux Download: 9656x |
6. |
Novell Linux Desktop Download: 0x |
7. |
KateOS Download: 6239x |
1. |
xinetd Download: 2411x |
2. |
RDGS Download: 937x |
3. |
spkg Download: 4751x |
4. |
LinPacker Download: 9961x |
5. |
VFU File Manager Download: 3196x |
6. |
LeftHand Mała Księgowość Download: 7200x |
7. |
MISU pyFotoResize Download: 2803x |
8. |
Lefthand CRM Download: 3560x |
9. |
MetadataExtractor Download: 0x |
10. |
RCP100 Download: 3116x |
11. |
Predaj softveru Download: 0x |
12. |
MSH Free Autoresponder Download: 0x |