Perl Array κοπής () και chomp () Λειτουργία

click fraud protection

Το Perl μπριζόλα και chomp οι λειτουργίες συχνά αποτελούν πηγή σύγχυσης. Όχι μόνο ακούγονται παρόμοια, κάνουν παρόμοια πράγματα. Δυστυχώς, υπάρχει μια κρίσιμη διαφορά -μπριζόλα - αφαιρεί τον τελευταίο χαρακτήρα του σειρά εντελώς, ενώ chomp αφαιρεί μόνο τον τελευταίο χαρακτήρα αν είναι μια νέα γραμμή.

Chomping $ myName κόβει την τελευταία γραμμή, αφήνοντας ακριβώς Ιάκωβος. Μόλις χτυπηθεί, δεν θα κάνει τίποτα άλλο. Τεμαχισμός το όνομα, ωστόσο, θα έχει ως αποτέλεσμα την κατάργηση του τελευταίου χαρακτήρα Jaco:

Chompκαι μπριζόλαping an πίνακας οδηγεί σε κάθε ενεργό στοιχείο και μπορεί να είναι ένας εξοικονόμος πραγματικού χρόνου.

Έτσι θυμηθείτε - Μπριζόλα αποκόπτει τον τελευταίο χαρακτήρα χωρίς αμφιβολία ή λύπη. Chomp απλώς αφαιρέθηκε η νέα γραμμή, αφήνοντας την ίδια τη συμβολοσειρά άθικτη. Chomp δεν εξαλείφει όλους τους χαρακτήρες κενών χαρακτήρων από προεπιλογή. Στην πραγματικότητα, από προεπιλογή, το chomp αφαιρεί μόνο αυτό που ορίζεται σήμερα ως $ INPUT_RECORD_SEPARATOR. Αν ο στόχος σας είναι να κόψετε όλα τα κενά από το τέλος της συμβολοσειράς σας, δοκιμάστε να χρησιμοποιήσετε ένα regex όπως αυτό που υποβάλλεται από έναν αναγνώστη:

instagram viewer

instagram story viewer