Dieser Artikel erläutert die Installation und Konfiguration von Perl in RHEL 8 / CentOS 8.
In diesem Tutorial lernen Sie:
- Perl-Übersicht
- Eigenschaften von Perl
- Download und Installation von Perl
- Perl-Programm schreiben und ausführen
Perl-Funktionen.
Softwareanforderungen und verwendete Konventionen
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | RHEL 8 / CentOS 8 |
Software | Perl |
Andere | Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl. |
Konventionen | # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden |
Perl-Übersicht
Perl ist eine Allzweck-Programmiersprache, die ursprünglich für die Textbearbeitung entwickelt wurde und jetzt für eine Vielzahl von Aufgaben verwendet wird, darunter Systemadministration, Webentwicklung, Netzwerkprogrammierung, GUI-Entwicklung und mehr.
Die Sprache soll eher praktisch (einfach zu verwenden, effizient, vollständig) als schön (winzig, elegant, minimal) sein. Seine Hauptmerkmale sind, dass es einfach zu bedienen ist, sowohl prozedurale als auch objektorientierte (OO) Programmierung unterstützt, über eine leistungsstarke integrierte Unterstützung für die Textverarbeitung verfügt und über eine der weltweit beeindruckendsten Sammlungen von Modulen von Drittanbietern verfügt.
Eigenschaften von Perl
Die Gesamtstruktur von Perl leitet sich weitgehend von C ab. Perl ist von Natur aus prozedural, mit Variablen, Ausdrücken, Zuweisungsanweisungen, geschweiften Blöcken, Kontrollstrukturen und Subroutinen.
Perl übernimmt auch Funktionen aus der Shell-Programmierung. Alle Variablen sind mit führenden Sigillen gekennzeichnet, wodurch Variablen direkt in Zeichenketten interpoliert werden können. Im Gegensatz zur Shell verwendet Perl jedoch Sigils bei allen Zugriffen auf Variablen, und im Gegensatz zu den meisten anderen Programmiersprachen, die Sigils verwenden, bezeichnet das Sigil nicht den Typ der Variablen, sondern den Typ des Ausdrucks. Um beispielsweise auf eine Liste von Werten in einem Hash zuzugreifen, wird das Siegel für ein Array („@“) verwendet, nicht das Siegel für einen Hash („%“). Perl hat auch viele eingebaute Funktionen, die Tools bereitstellen, die häufig in der Shell-Programmierung verwendet werden (obwohl viele dieser Tools von Programmen außerhalb der Shell implementiert werden), wie z. B. Sortieren und Aufrufen von Betriebssystemfunktionen.
Perl übernimmt Listen von Lisp, Hashes („assoziative Arrays“) von AWK und reguläre Ausdrücke von sed. Diese vereinfachen und erleichtern viele Parsing-, Textverarbeitungs- und Datenverwaltungsaufgaben. Ebenfalls mit Lisp geteilt sind die implizite Rückgabe des letzten Werts in einem Block und die Tatsache, dass alle Anweisungen einen Wert haben und daher auch Ausdrücke sind und selbst in größeren Ausdrücken verwendet werden können.
Perl 5 fügte Funktionen hinzu, die komplexe Datenstrukturen, erstklassige Funktionen (dh Closures als Werte) und ein objektorientiertes Programmiermodell unterstützen. Dazu gehören Verweise, Pakete, klassenbasierter Methodenversand und Variablen mit lexikalischem Gültigkeitsbereich sowie Compilerdirektiven (z. B. das strikte Pragma). Eine wichtige zusätzliche Funktion, die mit Perl 5 eingeführt wurde, war die Fähigkeit, Code als wiederverwendbare Module zu verpacken.
Alle Versionen von Perl führen automatische Datentypisierung und automatische Speicherverwaltung durch. Der Interpreter kennt den Typ und die Speicheranforderungen jedes Datenobjekts im Programm; Es weist ihnen Speicherplatz zu und gibt sie nach Bedarf frei, indem es Referenzzählungen verwendet (daher kann es kreisförmige Datenstrukturen nicht ohne manuellen Eingriff freigeben). Legal Type-Konvertierungen – beispielsweise Konvertierungen von Zahlen in Zeichenfolgen – werden automatisch zur Laufzeit durchgeführt; Unzulässige Typumwandlungen sind fatale Fehler.
Download und Installation von Perl
In RHEL 8 / CentOS 8 ist das Perl-Paket bereits enthalten. Sie können mit dem folgenden Befehl überprüfen, ob es installiert ist oder nicht.
# yum info perl # rpm -qa | grep perl
yum info perl Updating Subscription Management repositories. Updating Subscription Management repositories. Available Packages Name : perl Epoch : 4 Version : 5.26.2 Release : 414.el8 Arch : x86_64 Size : 72 k Source : perl-5.26.2-414.el8.src.rpm Repo : rhel-8-for-x86_64-appstream-beta-rpms Summary : Practical Extraction and Report Language URL : http://www.perl.org/ License : GPL+ or Artistic Description : Perl is a high-level programming language with roots in C, sed, awk and shell : scripting. Perl is good at handling processes and files, and is especially : good at handling text. Perl's hallmarks are practicality and efficiency. : While it is used to do a lot of different things, Perl's most common : applications are system administration utilities and web programming. : : This is a metapackage with all the Perl bits and core modules that can be : found in the upstream tarball from perl.org. : : If you need only a specific feature, you can install a specific package : instead. E.g. to handle Perl scripts with /usr/bin/perl interpreter, : install perl-interpreter package. See perl-interpreter description for more : details on the Perl decomposition into packages.
Wie Sie sehen können, ist es verfügbar, aber nicht installiert, daher können Sie das Paket perl
installieren indem Sie den folgenden Befehl verwenden.
# yum install perl
Nach erfolgreicher Installation sehen Sie die folgende Ausgabe unter „Installierte Pakete“
yum info perl Updating Subscription Management repositories. Updating Subscription Management repositories. Last metadata expiration check: 0:02:57 ago on Wed 13 Mar 2019 11:26:36 PM +04. Installed Packages Name : perl Epoch : 4 Version : 5.26.2 Release : 414.el8 Arch : x86_64 Size : 0.0 Source : perl-5.26.2-414.el8.src.rpm Repo : @System From repo : rhel-8-for-x86_64-appstream-beta-rpms Summary : Practical Extraction and Report Language URL : http://www.perl.org/ License : GPL+ or Artistic Description : Perl is a high-level programming language with roots in C, sed, awk and shell : scripting. Perl is good at handling processes and files, and is especially : good at handling text. Perl's hallmarks are practicality and efficiency. : While it is used to do a lot of different things, Perl's most common : applications are system administration utilities and web programming. : : This is a metapackage with all the Perl bits and core modules that can be : found in the upstream tarball from perl.org. : : If you need only a specific feature, you can install a specific package : instead. E.g. to handle Perl scripts with /usr/bin/perl interpreter, : install perl-interpreter package. See perl-interpreter description for more : details on the Perl decomposition into packages.
Nach der Installation können Sie die installierte Perl-Version mit dem Befehl.
überprüfen# perl -v
# perl -v This is perl 5, version 26, subversion 2 (v5.26.2) built for x86_64-linux-thread-multi (with 52 registered patches, see perl -V for more detail) Copyright 1987-2018, 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.
Perl-Programm schreiben und ausführen
Erstellen Sie die helloworld.pl
Programm mit einem Editor wie vim, wie unten gezeigt.
#!/usr/bin/perl
print "Hello World!";
Stellen Sie sicher, dass der Perl-Interpreter wie unten gezeigt auf Ihrem System installiert ist.
# whereis perl perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz
# which perl /usr/bin/perl
Um das Programm auszuführen, können Sie entweder perl helloworld.pl
ausführen oder ./helloworld.pl
.
# perl helloworld.pl Hello World!
# chmod +x helloworld.pl # ./helloworld.pl Hello World!
Sie können Perl auch wie unten gezeigt von der Befehlszeile aus ausführen.
# perl -e 'print "Hello World!\n"' Hello World!
Schlussfolgerung
Perl ist stark im Kommen und wird in naher Zukunft weiter wachsen. Viele Anfänger werden jedoch aufgrund mehrerer Mängel in der Online-Perl-Community und den Ressourcen davon abgehalten, Teil der Perl-Welt zu werden oder sie zu verstehen.
Perl erweist sich für viele als Tor zu UNIX. Viele Leute, die anfangen, ein UNIX-kompatibles System (wie Linux oder Solaris) zu verwenden, schreiben ihre Shell-Skripte in Perl und lernen später tatsächlich Shell-Programmierung. Viele Windows-Leute, die Perl für Win32 verwendet haben, finden das UNIX-Konzept danach viel wünschenswerter. Perl ist in vielerlei Hinsicht ein Spiegelbild von UNIX, und ich würde es hassen, wenn jemand Angst vor UNIX bekommt, weil er auch Angst vor Perl hat.
Man hört oft Leute, die sich über Perls Kürze, Schwierigkeiten beim Erlernen, „Inkonsistenz“, „hässliche Syntax“, Komplexität, Infix-Notation, Größe, Dollarzeichen, Ungeeignetheit für große Codebasen usw. beschweren. All diese „Probleme“ sind sehr marginal wenn nicht völlig falsch, es in die öffentliche Akzeptanz zu bringen. Tatsächlich ist es ein Zeichen dafür, dass es eine Kultur gibt, die nicht alle Menschen akzeptieren können, was gut ist, da nicht alle Menschen in so unmoralischen Fragen wie der Wahl der Programmiersprache gleich sind.
Was jedoch jemanden davon abhalten kann, Perl zu lernen, ist ein Mangel an guter Unterstützung und Hilfe von einer Online-Community, die möglicherweise die einzige Verbindung ist, die er zu dieser virtuellen Welt namens „Perl“ hat. Lass es uns ändern.