Verwendung von tail
? Gut. Aber das ist wirklich ein Sonderfall, weil es so einfach zu benutzen und so trivial ist.
Das Problem ist im Allgemeinen nicht wirklich die Effizienz oder die Übertragbarkeit, das ist weitgehend irrelevant; das Problem ist die Benutzerfreundlichkeit. Um ein externes Dienstprogramm auszuführen, müssen Sie herausfinden, welche Argumente es akzeptiert, Code schreiben, um die Datenstrukturen Ihres Programms in dieses Format umzuwandeln, sie richtig zu zitieren, die Befehlszeile zu erstellen und die Anwendung auszuführen. Dann müssen Sie es mit Daten füttern und Daten von ihm lesen (was eine komplexe Aufgabe wie eine Ereignisschleife, die Sorge um Deadlocking usw. bedeutet), und schließlich den Rückgabewert interpretieren. (UNIX-Prozesse betrachten "0" als wahr und alles andere als falsch, aber Perl nimmt das Gegenteil an. foo() and die
ist schwer zu lesen.) Das ist eine Menge Arbeit, und deshalb vermeiden es die Leute. Es ist viel einfacher, eine Instanz einer Klasse zu erstellen und Methoden aufzurufen, um die benötigten Daten zu erhalten.
(Sie können auf diese Weise Prozesse abstrahieren; gpg
,