GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Perl lernen, aber wie bekomme ich 5.14 unter Windows?

Ich habe Learning Perl noch nicht gesehen 6. Ausgabe, aber es würde mich sehr wundern, wenn Sie Schwierigkeiten hätten, sie mit Perl 5.12 durchzuarbeiten. Perl 5.14 ist noch zu neu für die meisten Leute, um Code zu schreiben, der es erfordert. Das Buch erwähnt möglicherweise einige Funktionen, die Sie in 5.12 nicht nutzen können, aber es sollte dennoch erklären, wie Sie Dinge erreichen können, indem Sie nur 5.12-Funktionen verwenden.

Ich würde empfehlen, einfach das aktuelle Strawberry Perl zu verwenden und sich keine Gedanken über die Versionsnummer zu machen.

Aktualisierung: Wie Mike schon sagte, hier ist der erste Absatz des Vorworts:

Willkommen zur sechsten Ausgabe von Perl lernen , aktualisiert für Perl 5.14 und seine neuesten Funktionen. Dieses Buch ist immer noch gut, auch wenn Sie immer noch Perl 5.8 verwenden (obwohl es lange her ist, seit es veröffentlicht wurde; haben Sie über ein Upgrade nachgedacht?).

Das bestätigt also, dass Sie problemlos versuchen werden, 5.12 mit der 6. Ausgabe zu verwenden.


Ich bin vor einiger Zeit von Windows und PHP zu Linux und Perl gewechselt und habe es nicht bereut - aber ich möchte hier keinen Betriebssystem- oder Programmiersprachenkrieg beginnen. Auf meinem Desktop läuft Ubuntu, aber Sie könnten bei Windows bleiben (ich habe Windows in einer VirtualBox-VM für die Zeiten verfügbar, in denen ich es brauche).

Sie können die Ubuntu-Server-ISO herunterladen und über den Virtual Media Manager als CD/DVD-Image anhängen. Sie können dann beliebig viele Ubuntu-VMs einrichten. Ich verwende sehr grundlegende Einstellungen für meine:

  • RAM:512 MB
  • Festplatte:8 GB dynamisch
  • Netzwerkadapter:Bridged

Ich habe ein paar Bilder konfiguriert. Eine ist mit Nginx + Catalyst eingerichtet, eine mit Bricolage CMS und Apache und einigen anderen Variationen (einschließlich einer PHP-Variante). Das Tolle an VMs ist, dass Sie Snapshots erstellen, Images duplizieren, experimentieren und Dinge wegblasen und neu starten können, wenn Sie etwas vermasseln.

Wie Sie Ihre Entwicklungsumgebung einrichten, hängt von Ihrer persönlichen Entscheidung ab. Ich verwende SSHMenu, um vier SSH-Verbindungen zu meinem Entwicklungsserver zu öffnen - dies platziert die Terminals auch an vordefinierten Positionen auf meinem Bildschirm.

Ich verwende ein Terminal, um Code auszuführen, auf den Debugger zuzugreifen usw. Ich verwende ein anderes, um den DBMS-Client (PostgreSQL / MySQL) zu verbinden. Ich verwende die anderen beiden zum Bearbeiten von Code und Einheitentests. Als Editor verwende ich Vim im Terminal. Ich wollte auch Emacs ausprobieren, bin aber nie dazu gekommen.

Ich verwende git als mein Versionskontrollsystem mit nackten Repositories auf einem separaten Dateiserver. Ich habe mit Mercurial angefangen, aber es sieht so aus, als würde ein Großteil der Perl-Welt Git verwenden, also bin ich gewechselt.

Ich habe das GNOME-Terminal so konfiguriert, dass es das schöne Solarized-Farbschema verwendet (ein praktisches Skript dafür finden Sie hier).

Was die Perl-Version angeht:Ich weiß es nicht. Ich stimme anderen Kommentaren über die Verwendung eines Standardpakets zu, anstatt zu versuchen, ein eigenes zu erstellen - insbesondere wenn Sie ein Linux-Neuling sind. Ich habe gerade auf der O'Reilly-Vorschauseite nachgesehen, und im Vorwort steht:"Dieses Buch ist gut, auch wenn Sie noch Perl 5.8 verwenden" - also sollten Sie mit einer früheren Version einverstanden sein. Sie müssen sich auch darüber im Klaren sein, dass Sie möglicherweise auf ältere Perl-Versionen Ihres gewählten Hosting-Anbieters beschränkt sind, wenn Sie eine Webentwicklung in Perl planen.

Noch ein paar Gedanken:

  • Das Programmieren von Perl ist trotz seines Alters immer noch eine großartige Ressource. Wenn Sie Perl lernen und vielleicht fortgeschrittenes Perl abgeschlossen haben, lohnt es sich, es zu lesen. Der Abschnitt über Pattern Matching (reguläre Ausdrücke) ist fantastisch.

  • Modernes Perl ist eine wirklich gute Lektüre. 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 Satz von CPAN-Modulen pro Anwendung 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 andere Versionen derselben Module verwenden. Das ist im Moment wahrscheinlich nicht relevant für Sie, aber wenn Sie mehr gelernt haben und anfangen, viele CPAN-Module zu verwenden, kann es sehr 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";

Verwenden Sie ActivePerl

Es ist ein sehr gutes Produkt, es ist kostenlos und es hat einen zuverlässigen (größtenteils) PPM (Perl Package Manager). Ich benutze es und habe normalerweise keine Probleme. Es ist eine Binärdistribution, genau wie Strawberry Perl, aber Sie verwenden PPM, um Module anstelle von CPAN.pm zu erhalten.

Hinweis:Wenn Sie Perl 5.14 nur wegen des Buches bekommen, tun Sie es nicht. Ich habe dieses Buch bekommen (ich bin auch ein Anfänger) und habe 5.12.4 verwendet. Du bekommst fast alle Features (bis auf ein paar;-)


Linux
  1. So installieren Sie Perl-Module unter Linux

  2. Wie man Sound (PulseAudio) mit WSL2 zum Laufen bringt

  3. So erhalten Sie die CPU-Auslastung

  4. Wie bekomme ich ps zur Druckgruppe?

  5. So installieren Sie InfluxDB unter Windows

So führen Sie Podman unter Windows aus

So erhalten Sie das Windows Look &Feel auf Ubuntu 18.04

So konvertieren Sie eine Windows-Datei in eine UNIX-Datei

So beheben Sie Windows-Updates, die bei 0 % hängen bleiben

Docker unter Windows? Beginnen Sie jetzt mit dem Lernen oder …!

Wie bekomme ich den Domainnamen in Windows mit dem Befehl?