Come incorporare comandi Unix in Perl

November 8

Perl è un linguaggio di programmazione, con ampie strutture per lo scripting e la manipolazione del testo. programmi Perl vengono eseguiti da un interprete, quindi le variabili sono dinamicamente tipizzati. Quando si scrive un'applicazione complessa è utile essere in grado di richiamare comandi del sistema operativo in modo che il programmatore può concentrarsi sulla funzione centrale del suo codice, senza dover re-implementare da funzionalità zero che viene già fornita da esistente (e testato) codice del sistema operativo . In particolare, è possibile incorporare i comandi del sistema operativo quando il programma Perl è in esecuzione su Unix.

istruzione

1 Maresciallo gli argomenti per il comando Unix dal codice Perl. Il modo specifico di esecuzione di questa fase dipende dalla funzione prevista del codice Perl. Ad esempio, per un programma che crea una nuova cartella sotto un certo punto nella gerarchia del file system, includere le seguenti righe di codice:

! / Usr / local / bin / perl

#

$ PointInFilesystem = $ ARGV [0];

$ NameNewDir = $ ARGV [1];

Il primo argomento della riga di comando per l'applicazione Perl è il punto in cui otterrà creato la nuova directory; il secondo argomento è il nome della nuova directory avrà.

2 Montare il comando Unix in una singola variabile stringa. Ad esempio, per l'applicazione directory-creazione, includere le seguenti righe di codice:

$ UnixCommand = "mkdir $ pointInFilesystem". "/". $ NameNewDir

Variabile stringa "$ unixCommand" contiene una invocazione legale di comando "mkdir" di Unix.

3 Richiamare il comando Unix utilizzando il comando "sistema" del Perl. Ad esempio, per l'applicazione directory-creazione, includere la seguente riga nel codice:

Sistema ($ unixCommand);

Quando "sistema" viene eseguito, si creerà un nuovo processo e istruzioni al fine di eseguire il ragionamento di sistema - in questo caso per creare una nuova directory. Il vostro programma Perl riprenderà quando il processo creato da "sistema" si esce. È possibile richiamare qualsiasi altro comando Unix o shell con "sistema".