Linux Admin - Richten Sie Perl für CentOS Linux ein
Perlgibt es schon lange. Es wurde ursprünglich als Berichtssprache zum Parsen von Textdateien entwickelt. Mit zunehmender Beliebtheit hat Perl eine Modulunterstützung oder CPAN, Sockets, Threading und andere Funktionen hinzugefügt, die in einer leistungsstarken Skriptsprache benötigt werden.
Der größte Vorteil von Perl gegenüber PHP, Python oder Ruby ist: Es erledigt Dinge mit minimalem Aufwand. Diese Philosophie von Perl bedeutet nicht immer, dass die Dinge richtig gemacht werden. Für Verwaltungsaufgaben unter Linux wird Perl jedoch als erste Wahl für eine Skriptsprache angesehen.
Einige Vorteile von Perl gegenüber Python oder Ruby sind:
Leistungsstarke Textverarbeitung
Perl macht das Schreiben von Skripten schnell und schmutzig (normalerweise ist ein Perl-Skript mehrere Dutzend Zeilen kürzer als ein Äquivalent in Python oder Ruby).
Perl kann (fast) alles
Einige Nachteile von Perl sind -
Die Syntax kann verwirrend sein
Der Codierungsstil in Perl kann einzigartig sein und die Zusammenarbeit beeinträchtigen
Perl ist nicht wirklich objektorientiert
In der Regel wird bei der Verwendung von Perl nicht viel über Standardisierung und Best Practice nachgedacht.
Bei der Entscheidung, ob Perl, Python oder PHP verwendet werden soll; Die folgenden Fragen sollten gestellt werden:
- Wird diese Anwendung jemals eine Versionierung benötigen?
- Müssen andere Personen jemals den Code ändern?
- Müssen andere Personen diese Anwendung verwenden?
- Wird diese Anwendung jemals auf einem anderen Computer oder einer anderen CPU-Architektur verwendet?
Wenn die Antworten auf alle oben genannten Fragen "Nein" lauten, ist Perl eine gute Wahl und kann die Endergebnisse beschleunigen.
Nachdem dies erwähnt wurde, konfigurieren wir unseren CentOS-Server so, dass er die neueste Version von Perl verwendet.
Vor der Installation von Perl müssen wir die Unterstützung für Perl verstehen. Offiziell wird Perl erst in den letzten beiden stabilen Versionen unterstützt. Daher möchten wir sicherstellen, dass unsere Entwicklungsumgebung von der CentOS-Version isoliert bleibt.
Der Grund für die Isolation ist: Wenn jemand ein Tool in Perl für die CentOS-Community freigibt, wird es höchstwahrscheinlich so geändert, dass es mit Perl funktioniert, wie es mit CentOS geliefert wird. Wir möchten jedoch auch, dass die neueste Version für Entwicklungszwecke installiert wird. Wie Python konzentriert sich CentOS auf Perl, das sich auf Zuverlässigkeit und nicht auf den neuesten Stand konzentriert.
Lassen Sie uns unsere aktuelle Version von Perl unter CentOS 7 überprüfen.
[root@CentOS]# perl -v
This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi
Wir führen derzeit Perl 5.16.3 aus. Die aktuellste Version zum Zeitpunkt dieses Schreibens ist: perl-5.24.0
Wir möchten auf jeden Fall unsere Version aktualisieren, um aktuelle Perl-Module in unserem Code verwenden zu können. Glücklicherweise gibt es ein großartiges Tool, um Perl-Umgebungen zu warten und unsere CentOS-Version von Perl isoliert zu halten. Es wird genanntperlbrew.
Lassen Sie uns Perl Brew installieren.
[root@CentOS]# curl -L https://install.perlbrew.pl | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 170 100 170 0 0 396 0 --:--:-- --:--:-- --:--:-- 397
100 1247 100 1247 0 0 1929 0 --:--:-- --:--:-- --:--:-- 1929
Nachdem wir Perl Brew installiert haben, erstellen wir eine Umgebung für die neueste Version von Perl.
Zunächst benötigen wir die aktuell installierte Version von Perl, um die Perlbrew-Installation zu booten. Holen wir uns daher einige benötigte Perl-Module aus dem CentOS-Repository.
Note - Wenn verfügbar, möchten wir bei unserer CentOS Perl-Installation immer CentOS Perl-Module im Vergleich zu CPAN verwenden.
Step 1 - Installieren Sie das CentOS Perl Make :: Maker-Modul.
[root@CentOS]# yum -y install perl-ExtUtils-MakeMaker.noarch
Step 2 - Installieren Sie die neueste Version von Perl.
[root@CentOS build]# source ~/perl5/perlbrew/etc/bashrc
[root@CentOS build]# perlbrew install -n -j4 --threads perl-5.24.1
Die Optionen, die wir für unsere Perl-Installation ausgewählt haben, sind:
n - Keine Tests
j4 - Führen Sie 4 Threads parallel für die Installationsroutinen aus (wir verwenden eine Quadcore-CPU).
threads - Aktivieren Sie die Threading-Unterstützung für Perl
Nachdem unsere Installation erfolgreich durchgeführt wurde, wechseln wir zu unserer neuesten Perl-Umgebung.
[root@CentOS]# ~/perl5/perlbrew/bin/perlbrew use perl-5.24.1
A sub-shell is launched with perl-5.24.1 as the activated perl. Run 'exit' to finish it.
[root@CentOS]# perl -v
This is perl 5, version 24, subversion 1 (v5.24.1) built for x86_64-linuxthread-multi
(with 1 registered patch, see perl -V for more detail)
Copyright 1987-2017, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the GNU General
Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on this system
using "man perl" or "perldoc perl". If you have access to the Internet, point your
browser at http://www.perl.org/, the Perl Home Page.
[root@CentOS]#
Einfache Perl-Skriptdruck-Perl-Version, die im Kontext unserer Perlbrew-Umgebung ausgeführt wird -
[root@CentOS]# cat ./ver.pl
#!/usr/bin/perl
print $^V . "\n";
[root@CentOS]# perl ./ver.pl
v5.24.1
[root@CentOS]#
Sobald Perl installiert ist, können wir Cpan-Module mit Perl Brews Cpanm laden -
[root@CentOS]# perl-brew install-cpanm
Verwenden wir nun das cpanm- Installationsprogramm, um das LWP-Modul mit unserer aktuellen Perl-Version von 5.24.1 in Perl Brew zu erstellen.
Step 1 - Wechseln Sie in den Kontext unserer aktuellen Perl-Version.
[root@CentOS ~]# ~/perl5/perlbrew/bin/perlbrew use perl-5.24.1
Eine Unter-Shell wird mit Perl-5.24.1 als aktiviertem Perl gestartet. Führen Sie 'exit' aus, um es zu beenden.
[root@CentOS ~]#
Step 2 - Installieren Sie das LWP User Agent Perl-Modul.
[root@CentOS ~]# ~/perl5/perlbrew/bin/cpanm -i LWP::UserAgent
Step 3 - Testen wir nun unsere Perl-Umgebung mit dem neuen CPAN-Modul.
[root@CentOS ~]# cat ./get_header.pl
#!/usr/bin/perl
use LWP;
my $browser = LWP::UserAgent->new();
my $response = $browser->get("http://www.slcc.edu/");
unless(!$response->is_success) {
print $response->header("Server");
}
[root@CentOS ~]# perl ./get_header.pl
Microsoft-IIS/8.5 [root@CentOS ~]#
Hier hast du es! Perl Brew macht das Isolieren von Perl-Umgebungen zum Kinderspiel und kann als Best Practice angesehen werden, wie es mit Perl möglich ist.