Learning Perl jsem ve skutečnosti neviděl 6. vydání, ale velmi by mě překvapilo, kdybyste měli potíže s prací v Perlu 5.12. Perl 5.14 je stále příliš nový na to, aby většina lidí psala kód, který to vyžaduje. Kniha může zmiňovat některé funkce, které nemůžete využít v 5.12, ale přesto by měla vysvětlovat, jak dosáhnout věcí pouze pomocí funkcí 5.12.
Doporučil bych používat pouze aktuální Strawberry Perl a nestarat se o číslo verze.
Aktualizace: Jak Mike zdůraznil, zde je úvodní odstavec Předmluvy:
Vítejte u šestého vydání Learning Perl , aktualizovaný pro Perl 5.14 a jeho nejnovější funkce. Tato kniha je stále dobrá, i když stále používáte Perl 5.8 (i když od jejího vydání uplynula dlouhá doba; přemýšleli jste o upgradu?).
Takže to potvrzuje, že nebudete mít problém zkusit použít 5.12 s 6. vydáním.
Před chvílí jsem přešel z Windows a PHP na Linux a Perl a neohlédl jsem se zpět - ale nechci zde rozpoutat válku OS nebo programovacích jazyků. Na mé ploše běží Ubuntu, ale můžete zůstat u Windows (mám Windows k dispozici ve virtuálním počítači VirtualBox pro ty časy, kdy je potřebuji).
Můžete si stáhnout ISO serveru Ubuntu a připojit jej jako obraz CD/DVD prostřednictvím Správce virtuálních médií. Poté můžete nastavit tolik virtuálních počítačů Ubuntu, kolik chcete. Používám velmi základní nastavení:
- RAM:512 MB
- Pevný disk:8 GB dynamický
- Síťový adaptér:Přemostěný
Mám nastaveno několik obrázků. Jeden je nastavení s Nginx + Catalyst, jeden s Bricolage CMS a Apache a několik dalších variant (včetně PHP). Skvělá věc na virtuálních počítačích je, že můžete vytvářet snímky, duplikovat obrázky, experimentovat a vyhazovat věci pryč a restartovat, pokud něco pokazíte.
Jak se rozhodnete nastavit vývojové prostředí, závisí na osobní volbě. Používám SSHMenu k otevření čtyř připojení SSH k mému vývojovému serveru – to také umístí terminály na předdefinované pozice na mé obrazovce.
Jeden terminál používám pro spouštění kódu, přístup k debuggeru atd. Další používám pro připojení DBMS klienta (PostgreSQL / MySQL). Další dva používám pro úpravy kódu a testy jednotek. Používám Vim v terminálu jako můj editor. Chtěl jsem také vyzkoušet Emacs, ale nikdy jsem se k tomu nedostal.
Jako svůj systém pro správu verzí používám git s holými repozitáři na samostatném souborovém serveru. Začal jsem s Mercurialem, ale zdá se, že velká část světa Perlu používá git, tak jsem přešel.
Nakonfiguroval jsem terminál GNOME tak, aby používal krásné barevné schéma Solarized (zde pro to najdete praktický skript).
Pokud jde o verzi Perl:Nevím. Souhlasím s dalšími komentáři o použití standardního balíčku, spíše než o pokusu o vytvoření vlastního - zvláště pokud jste nováček v Linuxu. Právě jsem se podíval na stránku s náhledem O'Reilly a v Předmluvě je napsáno "tato kniha je dobrá, i když stále používáte Perl 5.8" - takže byste měli být v pořádku s dřívější verzí. Také si musíte být vědomi toho, že pokud plánujete vývoj webu v Perlu, můžete být vybraným poskytovatelem hostingu omezeni na starší verze Perlu.
Ještě pár myšlenek:
-
Programování Perlu je i přes svůj věk stále skvělým zdrojem. Jeden, který jste dokončili Learning Perl, a možná Intermediate Perl, stojí za přečtení. Sekce o porovnávání vzorů (regulární výrazy) je fantastická.
-
Moderní Perl je opravdu dobré čtení. Je to dobře napsané, stručné a plné opravdu užitečných tipů.
-
cpanm je skvělou alternativou ke standardní aplikaci CPAN.
-
local::lib je velmi užitečné. Používám jej k vytvoření sady modulů CPAN pro jednotlivé aplikace. To znamená, že mohu jednoduše zkopírovat celou adresářovou strukturu z mého vývojového serveru na aplikační server, aniž bych se musel obávat konfliktů s jinými aplikacemi, které by mohly používat různé verze stejných modulů. To pro vás v tuto chvíli pravděpodobně není relevantní, ale až se naučíte více a začnete používat spoustu modulů CPAN, může to být opravdu užitečné.
Rychlý local::lib
příklad:
mkdir -p ~/myapp/extlib
cpanm --prompt -L ~/myapp/extlib CPAN::Module1 CPAN::Module2 ...
eval $(perl -Mlocal::lib=~/myapp/extlib/)
V ~/myapp/scripts/myscript.pl
:
use FindBin;
use local::lib "$FindBin::Bin/../extlib";
Použijte ActivePerl
Je to velmi dobrý produkt, je zdarma a má spolehlivý (většinou) PPM (Perl Package Manager). Používám to a většinou bez problémů. Je to binární distribuce stejně jako Strawberry Perl, ale k získání modulů místo CPAN.pm používáte PPM.
Poznámka:Pokud získáváte Perl 5.14 jen kvůli knize, nedělejte to. Tu knihu jsem dostal (také jsem začátečník) a použil 5.12.4. Získáte většinou všechny funkce (kromě několika;-)