Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> Perl Προγραμματισμός

Πώς ανακατευθύνετε την έξοδο του σεναρίου Perl σε κάποιο αρχείο χρησιμοποιώντας σενάριο;

Μπορείτε να ανακατευθύνετε την έξοδο ενός σεναρίου Perl σε ένα αρχείο χρησιμοποιώντας τις ακόλουθες μεθόδους μέσα στο ίδιο το σενάριο:

1. Χρησιμοποιώντας τη λειτουργία `open` και filehandle:

`` `perl

#!/usr/bin/perl

Ανοίξτε το αρχείο εξόδου για γραφή

Ανοίξτε ($ FH, ">", "output.txt") ή die "δεν μπορεί να ανοίξει αρχείο εξόδου:$!";

Εκτύπωση εξόδου στο αρχείο Handle

εκτύπωση $ fh "Αυτή είναι κάποια έξοδος \ n";

εκτύπωση $ fh "Αυτή είναι μια άλλη γραμμή \ n";

Κλείστε το αρχείο Handle

Κλείσιμο ($ FH);

`` `

2. Χρήση της λειτουργίας `συστήματος ':

`` `perl

#!/usr/bin/perl

Εκτελέστε τη δέσμη ενεργειών Perl και ανακατεύθυνση σε ένα αρχείο

Σύστημα ("perl script.pl> output.txt");

`` `

3. Χρησιμοποιώντας backticks (``):

`` `perl

#!/usr/bin/perl

Εκτελέστε τη δέσμη ενεργειών Perl και καταγραφή σε μια μεταβλητή

το $ output =`perl script.pl`;

Γράψτε τη συλληφθείσα έξοδο σε ένα αρχείο

Ανοίξτε ($ FH, ">", "output.txt") ή die "δεν μπορεί να ανοίξει αρχείο εξόδου:$!";

εκτύπωση $ fh $ output;

Κλείσιμο ($ FH);

`` `

Επεξήγηση:

* `Open` Λειτουργία: Αυτή η λειτουργία χρησιμοποιείται για να ανοίξει ένα αρχείο για γραφή (`>` σύμβολο) και το συσχετίζει με ένα αρχείο Handle (`$ fh` στο παράδειγμα). Στη συνέχεια, μπορείτε να χρησιμοποιήσετε `print` για να γράψετε δεδομένα στο FileHandle.

* Λειτουργία System`: Αυτή η λειτουργία εκτελεί μια εντολή συστήματος, συμπεριλαμβανομένης της ανακατεύθυνσης. Σε αυτή την περίπτωση, εκτελεί το σενάριο Perl και ανακατευθύνει την έξοδο του στο `output.txt`.

* backticks (``): Αυτό καταγράφει την έξοδο μιας εντολής μέσα σε μια μεταβλητή. Στη συνέχεια, μπορείτε να επεξεργαστείτε και να γράψετε την έξοδο που έχει συλληφθεί σε ένα αρχείο.

Επιλογή της μεθόδου:

* `Open` Λειτουργία: Το πιο ευπροσάρμοστο για τον έλεγχο της εξόδου μέσα στο σενάριο.

* Λειτουργία System`: Απλός τρόπος εκτέλεσης εντολών και ανακατεύθυνσης εξόδου, ειδικά αν δεν χρειάζεται να επεξεργαστείτε την έξοδο μέσα στο σενάριο.

* backticks: Χρήσιμο για τη λήψη της εξόδου μιας εντολής για μεταγενέστερη επεξεργασία.

Σημαντικές σημειώσεις:

* Το συμβόλαιο `>` Συμβόλαιο ανακατευθύνει την τυπική έξοδο (stdout) στο αρχείο.

* Χρησιμοποιήστε το `2>` για να ανακατευθύνετε το τυπικό σφάλμα (stderr).

* Χρησιμοποιήστε `>>` για να προσαρτήσετε την έξοδο σε ένα υπάρχον αρχείο.

* Αν χρειαστεί να ανακατευθύνετε τόσο το Stdout όσο και το Stderr, μπορείτε να χρησιμοποιήσετε το `&>` (π.χ., `perl script.pl &> output.txt`).

Θυμηθείτε να χειριστείτε σφάλματα με χαριτωμένα χρησιμοποιώντας τις λειτουργίες `die 'ή` warn' για να αποτρέψετε την κατάρρευση του σεναρίου σας απροσδόκητα.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα