Ich bin vor einer Weile von Windows und PHP auf Linux und Perl umgestiegen und habe nicht zurückgeschaut - aber ich möchte hier keinen OS- oder Programmiersprachen-Krieg beginnen. Mein Desktop läuft mit Ubuntu, aber du könntest auch bei Windows bleiben (ich habe Windows in einer VirtualBox-VM verfügbar, für die Zeiten, in denen ich es brauche).
Du kannst das Ubuntu Server ISO herunterladen und es als CD/DVD-Image über den Virtuellen Medien-Manager anhängen. Du kannst dann so viele Ubuntu-VMs einrichten, wie du möchtest. Ich verwende sehr einfache Einstellungen für meine:
- RAM: 512 MB
- Festplatte: 8 GB dynamisch
- Netzwerkadapter: Gebridged
Ich habe einige Images konfiguriert. Eines ist mit Nginx + Catalyst eingerichtet, eines mit Bricolage CMS und Apache und einige andere Varianten (einschließlich eines mit PHP). Das Tolle an VMs ist, dass du Snapshots erstellen, Bilder duplizieren, experimentieren und Dinge löschen und neu starten kannst, wenn du etwas durcheinander bringst.
Wie du deine Entwicklungsumgebung einrichtest, liegt bei persönlicher Wahl. Ich verwende SSHMenu um vier SSH-Verbindungen zu meinem Entwicklungsserver zu öffnen - das platziert auch die Terminals an vordefinierten Positionen auf meinem Bildschirm.
Ich verwende ein Terminal zum Ausführen von Code, zum Zugriff auf den Debugger usw. Ein weiteres verwende ich, um den DBMS-Client (PostgreSQL / MySQL) zu verbinden. Die anderen beiden verwende ich zum Bearbeiten von Code und Unit-Tests. In meinem Terminal verwende ich Vim als Editor. Ich wollte auch Emacs ausprobieren, bin aber nie dazu gekommen.
Ich verwende git als mein Versionskontrollsystem, mit Bare-Repositories auf einem separaten Dateiserver. Ich habe mit Mercurial angefangen, aber es scheint, als ob viel von der Perl-Welt git verwendet, also bin ich umgestiegen.
Ich habe das GNOME-Terminal konfiguriert, um das schöne Solarized Farbschema zu verwenden (du findest ein nützliches Skript dafür hier).
Was die Perl-Version betrifft: Ich weiß es nicht. Ich stimme anderen Kommentaren zu, die empfehlen, ein Standardpaket zu nutzen anstatt zu versuchen, dein eigenes zu bauen - besonders wenn du ein Linux-Neuling bist. Ich habe gerade auf der O'Reilly-Vorschauseite nachgesehen, und im Vorwort steht "dieses Buch ist gut, auch wenn du immer noch Perl 5.8 verwendest" - also solltest du mit einer älteren Version in Ordnung sein. Du solltest auch wissen, dass wenn du vorhast, Web-Entwicklung in Perl zu betreiben, du möglicherweise auf ältere Perl-Versionen beschränkt wirst, die von deinem ausgewählten Hosting-Anbieter unterstützt werden.
Weitere Gedanken:
-
Perl programmieren, trotz seines Alters, ist immer noch eine großartige Ressource. Nachdem du Perl lernen und vielleicht auch Perl Intermediate abgeschlossen hast, lohnt es sich zu lesen. Der Abschnitt über Musterabgleich (reguläre Ausdrücke) ist fantastisch.
-
Modernes Perl ist wirklich lesenswert. Es ist gut geschrieben, prägnant und voller wirklich nützlicher Tipps.
-
cpanm ist eine großartige Alternative zur Standard-CPAN-Anwendung.
-
local::lib ist sehr nützlich. Ich verwende es, um einen per-Anwendungssatz von CPAN-Modulen zu erstellen. Das bedeutet, dass ich einfach die gesamte Verzeichnisstruktur von meinem Entwicklungsserver auf den Anwendungsserver kopieren kann, ohne mich um Konflikte mit anderen Anwendungen kümmern zu müssen, die möglicherweise verschiedene Versionen derselben Module nutzen. Dies ist wahrscheinlich im Moment nicht relevant für dich, aber wenn du mehr gelernt hast und viele CPAN-Module verwendest, kann es wirklich praktisch sein.
Ein schnelles local::lib
Beispiel:
mkdir -p ~/myapp/extlib
cpanm --prompt -L ~/myapp/extlib CPAN::Module1 CPAN::Module2 ...
eval $(perl -Mlocal::lib=~/myapp/extlib/)
In ~/myapp/scripts/myscript.pl
:
use FindBin;
use local::lib "$FindBin::Bin/../extlib";