system ("linux_command") vs. Perl Bibliotheksfunktionen

7

In Perl kann man entweder ein eingebautes Perl verwenden oder system () verwenden, das einen Shell-Befehl aufruft, um das gewisse Ziel zu erreichen. Das Problem ist, dass es für mich als Perl-Anfänger manchmal schwierig ist, das Perl-Äquivalent zu einem Linux-Befehl zu finden.
Nimm das zum Beispiel:

%Vor%

Ich möchte wirklich nur die Perl-Funktionen verwenden, um mehr Perl zu machen, aber ich kann nicht leicht herausfinden, wie man system () in diesem Fall vermeidet.

Also, frage ich mich, gibt es einen Vorteil der Verwendung von Perl-Bibliotheksfunktionen als die Verwendung des system () -Aufrufs? Welcher ist der bessere Weg?

    
duleshi 12.11.2013, 06:58
quelle

5 Antworten

11

Der Vorteil bei der Verwendung von Bibliotheksfunktionen besteht oft darin, dass Sie sinnvolle Fehlermeldungen ausgeben können, wenn etwas schief geht.

Bei kurzlebigen Skripten oder wenn Entwicklungsressourcen knapp sind, kann die Verwendung eines Systems sinnvoll sein.

    
ysth 12.11.2013, 07:07
quelle
9
%Vor%

Hauptvorteil ist Portabilität und keine Systemabhängigkeiten.

Explizitere Version,

%Vor%     
Сухой27 12.11.2013 07:13
quelle
4

Benutze Perl-Bibliothek. Spart den Prozessoraufwand beim Erstellen eines anderen Prozesses. Kann auch bessere Hinweise bekommen, wenn etwas schief läuft.

    
Ed Heal 12.11.2013 07:44
quelle
1

Wenn Sie einen Systembefehl ausführen möchten und es perlish machen wollen, empfehle ich die Verwendung von open ().

%Vor%

Dies macht Ihr Programm einfach und leicht zu verstehen. Die Unterstützung, die in Perl für Systembefehle zur Verfügung gestellt wird, ist eine der Schönheiten davon. So ist es besser, es so zu verwenden, wie es ist, anstatt die ganze Reise zu gehen, nur um Ihren zu machen Code 'Perl'.

    
Asif Idris 12.11.2013 07:57
quelle
1

Sie können natürlich die Perl-Skriptversion verwenden, auf die mpapec hingewiesen hat. Aber die Verwendung von system oder open version von Asif Idris hat einige Vorteile. Zum Beispiel, wenn Sie eine große Menge an Daten sortieren müssen, bringt Ihnen der Systembefehl sort viel mehr und viel weniger Schmerzen. Das Sortieren von wenigen GB mit Perl ist PITA, aber es ist kein großes Problem für den Systembefehl sort und Sie werden sogar alle Ihre Kerne und viel weniger Speicher verwenden.

    
Hynek -Pichi- Vychodil 12.11.2013 09:06
quelle

Tags und Links