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

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

Πώς να συλλάβει Standard Input σε Perl

Ένα από τα συνθήματα της Perl είναι TIMTOWTDI ( προφέρεται " tim κόλαξ » ) . Είναι ένα αρκτικόλεξο που ξεχωρίζει για το " υπάρχουν περισσότεροι από ένας τρόπος για να το κάνουμε . " Ακριβώς όπως και οτιδήποτε άλλο σε Perl , υπάρχουν πολλοί τρόποι για να συλλάβει την κανονική είσοδο . Μεταξύ αυτών είναι μια συντόμευση για την ανάγνωση όλων των γραμμών σε ένα αρχείο και να κάνουμε κάτι μαζί τους ξεχωριστά . Δεδομένου ότι αυτό είναι μια κοινή δράση σε Unix προγράμματα-φίλτρα -όπως , χρησιμοποιείται πολύ συχνά στα προγράμματα Perl . Οδηγίες
Η

1 Χρησιμοποιήστε το " γωνία " χειριστή. Perl έχει τέσσερις filehandles ανοικτή από προεπιλογή : . STDIN , STDOUT , ​​STDERR και DATA , εκ των οποίων STDIN είναι το πρότυπο εισόδου λαβή , που χρησιμοποιείται για να συλλάβει την τυπική είσοδο 2

Χρησιμοποιήστε το χειριστή γωνία για να διαβάσετε μια ενιαία γραμμή από την filehandle περάσει σε αυτό , και είτε κατάστημα στην προεπιλεγμένη $ _ μεταβλητή ή να το χρησιμοποιήσετε ως το δεξί χέρι ενός έκφρασης εκχώρησης . Η " γωνία " χειριστής είναι ένα filehandle περιβάλλεται από λιγότερο από ό, τι και μεγαλύτερη από ό, τι τα σύμβολα , που αναφέρεται επίσης ως " γωνιακές αγκύλες . " " $ a = ? "
εικόνων 3

Χρησιμοποιήστε τον τελεστή γωνίας σε ένα βρόχο while . Ο τελεστής bracket γωνία θα πρέπει να είναι το μόνο πράγμα στο boolean έκφραση του βρόχου , ενώ όταν μέσα σε αγκύλες γωνία σε ένα βρόχο while . Κάθε φορά που το βρόχο while εκτελείται , αυτό θα διαβάσει μια γραμμή και να την αντιστοιχίσετε στο χειριστή $ _ . Όταν δεν υπάρχουν περισσότερες γραμμές για να διαβάσετε , ενώ ο βρόχος θα τερματιστεί : " ενώ ( ) { chomp ? # Chomp το $ _ μεταβλητή εκτύπωση ? # Εκτυπώστε το $ _ μεταβλητή } "
Η 4

Εκχώρηση της χειριστή γωνία σε μια λίστα . Εκχώρηση των αποτελεσμάτων του χειριστή γωνίας σε μια λίστα είναι σαν να λέμε " αποθηκεύουν όλες τις γραμμές αυτού του filehandle σε αυτή τη λίστα . " Όταν εκχωρείτε το χειριστή γωνία σε μια λίστα , άλλη συντόμευση γίνεται ότι εκχωρεί όλες τις γραμμές της εισόδου στον κατάλογο : "@ my_list = ? "
5

Ανάγνωση από το filehandle STDIN χρησιμοποιώντας τη λειτουργία ανάγνωσης . Η αγκύλη διαβάζει μόνο ολοκληρωμένες σειρές , και δεδομένου ότι αυτό μπορεί να μην είναι ό, τι θέλετε να κάνετε , η λειτουργία ανάγνωσης θα σας αφήσει να διαβάσει οποιοδήποτε ποσό των bytes σε μια μεταβλητή . Χρειάζονται τρεις παραμέτρους: το filehandle , η μεταβλητή να το αποθηκεύσετε σε και ο αριθμός των bytes που θα διαβαστούν . Το ακόλουθο παράδειγμα έχει 10 bytes σε $ buffer : " διαβάσει ( STDIN , $ buffer , 10 ) ? "
Η
εικόνων

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

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