Σπίτι Προσωπικά Οικονομικά Συντονισμός σε δέκα σύντομα, χρήσιμα προγράμματα Perl - ανδρείκελα

Συντονισμός σε δέκα σύντομα, χρήσιμα προγράμματα Perl - ανδρείκελα

Πίνακας περιεχομένων:

Βίντεο: STAR FREQUENCIES HEALING SCIENCE VIBRATIONAL QUANTUM CONVERSATIONS SHOW LAUREN GALEY SACRED GEOMETRY 2024

Βίντεο: STAR FREQUENCIES HEALING SCIENCE VIBRATIONAL QUANTUM CONVERSATIONS SHOW LAUREN GALEY SACRED GEOMETRY 2024
Anonim

Μερικοί άνθρωποι πιστεύουν ότι τα σύντομα προγράμματα δεν είναι καλά για πολύ, αλλά αυτό δεν συμβαίνει με την Perl. Μόνο μερικές γραμμές του κώδικα Perl μπορούν να προχωρήσουν πολύ. Αυτό το άρθρο παραθέτει μερικά χρήσιμα teeny, μικροσκοπικά προγράμματα Perl.

Συλλογή μοναδικών γραμμών

Αν το αρχείο κειμένου σας έχει πολλές γραμμές που είναι διπλές και θέλετε μόνο να δείτε τις μοναδικές γραμμές, μπορείτε να τις συλλέξετε σε έναν πίνακα (σε αυτή την περίπτωση ονομάζεται @Unique) με το ακόλουθο πρόγραμμα:

ανοίξτε (IN, "somefile. Txt"); @ Unique = ();

ενώ () {εκτός ($ i {$ _} ++) {push (@Unique, $ _)}}

δημιουργείτε ένα ζεύγος κλειδιού-τιμής με το κλειδί $ _ και κάποια μη μηδενική τιμή μετά από αυτό.

Απαλλαγή από πολλές κενές γραμμές

Ορισμένα αρχεία κειμένου έχουν πολλαπλές, διαδοχικές κενές γραμμές, οι οποίες τους καθιστούν δύσκολο να διαβάσουν, ειδικά σε μικρές οθόνες. Το ακόλουθο πρόγραμμα εκτυπώνει ένα αρχείο κειμένου, συμπιέζοντας όλες τις εμφανίσεις δύο ή περισσότερων κενών γραμμών σε μία κενή γραμμή.

Σημείωση: Μια κενή γραμμή μπορεί να έχει χαρακτήρες κενών διαστημάτων, όπως διαστήματα και καρτέλες, αλλά δεν εμφανίζει χαρακτήρες.

ανοίξτε (IN, "somefile. Txt"); $ PrevBlank = 0;

ενώ () {

αν (/ S / ή! $ PrevBlank) {print $ _}

$ PrevBlank = / ^ s * $ /;

}

Η εντολή if στο προηγούμενο παράδειγμα είναι αληθής αν υπάρχουν γραμμένες χαρακτήρες στη γραμμή ή αν η προηγούμενη γραμμή δεν ήταν κενή. Η αντιστοίχιση $ PrevBlank σάς ενημερώνει εάν η τρέχουσα γραμμή είναι κενή, δηλαδή ότι έχει μηδενικούς ή περισσότερους χαρακτήρες λευκού και τίποτα άλλο.

Γραμμές εκτύπωσης από ένα αρχείο με ταξινομημένη σειρά

Είναι εύκολο να ξεχάσουμε πόσο χρήσιμη είναι η λειτουργία ταξινόμησης Perl. Το ακόλουθο πρόγραμμα διαβάζει ολόκληρο το αρχείο σε έναν πίνακα, ταξινομεί τον πίνακα και εκτυπώνει το αποτέλεσμα. Σύντομη και γλυκιά και αρκετά αποτελεσματική για εκκίνηση:

ανοιχτή (IN, "somefile. Txt");

τύπος εκτύπωσης ();

Εκτύπωση μιας σειράς γραμμών από ένα αρχείο

Έχετε ποτέ θελήσει να διαβάσετε μόνο μερικές γραμμές από ένα αρχείο και όχι το όλο θέμα; Το ακόλουθο πρόγραμμα εκτυπώνει μόνο μια σειρά γραμμών. Εκτελείτε το πρόγραμμα με δύο επιχειρήματα: το εύρος που θέλετε και το όνομα αρχείου. Για παράδειγμα, εάν ονομάσετε το πρόγραμμά σας "showline" και θέλετε να δείτε τις γραμμές 10 έως 20 του somefile. txt, χρησιμοποιείτε αυτή τη γραμμή εντολών:

showline 10-20 somefile. txt

Το παρακάτω πρόγραμμα εκτυπώνει μια σειρά γραμμών:

ανοίξτε (IN, $ ARGV [1]) ή περάστε "Δεν ήταν δυνατή η ανάγνωση του αρχείου $. n ";

($ Έναρξη, $ Διακοπή) = διαίρεση (/ - /, $ ARGV [0]);

για το ($ i = 1; $ i <= $ stop; $ i + = 1)

{$ Line =; εάν ($ i> = $ Start) {print $ Line}}

Καταχωρίστε μόνο τα αρχεία σε έναν κατάλογο

Μερικές φορές μπορεί να θέλετε να αγνοήσετε τους υποκαταλόγους σε έναν κατάλογο και να επικεντρωθείτε μόνο στα αρχεία.Μπορείτε να χρησιμοποιήσετε την παρακάτω δοκιμασία -f για να εμφανίσετε όλα τα αρχεία σε έναν κατάλογο:

foreach $ f () {if (-f $ f) {print "$ fn"}}

Για να ταξινομήσετε μια λίστα καταλόγου με οτιδήποτε άλλο από τα ονόματα αρχείων της, το πρόγραμμά σας πρέπει να διατηρεί μια λίστα αρχείων που αποτελείται από τα ονόματα και άλλα στοιχεία της καταχώρισης. Τα hashes είναι εξαιρετικά χρήσιμα για αυτό το είδος λίστας που έχει εγγραφές με ένα κλειδί (το όνομα αρχείου) και μια τιμή (τις άλλες πληροφορίες καταλόγου). Το ακόλουθο πρόγραμμα δημιουργεί ένα hash που καταγράφει το μέγεθος κάθε αρχείου στον κατάλογο και στη συνέχεια ταξινομεί τα στοιχεία για την έξοδο. (Μπορείτε εύκολα να τροποποιήσετε αυτό το πρόγραμμα για ταξινόμηση κατά ημερομηνία αντί για μέγεθος.)

foreach $ f () {$ i {$ f} = -s $ f};

foreach $ k (είδος {$ i {$ b} <= & gt $ i {$ a}} κλειδιά% i)

{printf "% 8d% sn", $ i {$ k} }

Ταξινόμηση καταλόγων κατά επέκταση

Η ταξινόμηση κατά τμήμα ενός ονόματος αρχείου είναι μια ελαφρώς πιο δύσκολη διαδικασία από την ταξινόμηση κατά μέγεθος αρχείου ή από την ημερομηνία τροποποίησης του αρχείου. Το ακόλουθο πρόγραμμα σπάει το όνομα αρχείου σε δύο και ταξινομεί το δεύτερο μέρος. Εάν χρησιμοποιείτε το Perl σε ένα σύστημα UNIX ή Macintosh, αυτό το πρόγραμμα λειτουργεί με προβλέψιμο τρόπο μόνο αν τα ονόματα αρχείων δεν έχουν περίοδο ή περίοδο:

foreach $ FullName () {

($ Name, $ Ext) = split /. /, $ FullName, 2).

ώθηση (@Temp, "$ Extt $ FullName");

}

foreach $ Val (ταξινόμηση (@Temp)) {

($ Ext, $ FullName) = διαίρεση (/ t /, $ Val);

εκτύπωση "$ FullNamen";

}

Δημιουργία απλής αριθμομηχανής

Χρειάστηκε ποτέ μια απλή στη χρήση αριθμομηχανή για να χτυπήσει κάποια γρήγορα και βρώμικα μαθηματικά; Το παρακάτω πρόγραμμα χρησιμοποιεί τη λειτουργία eval της Perl για να εκτυπώσει τις απαντήσεις σε οποιαδήποτε εξίσωση εισάγετε. Για να τερματίσετε το πρόγραμμα, πληκτρολογήστε μια κενή γραμμή. Εδώ είναι αυτό το πρόγραμμα για τη δημιουργία της δικής σας αριθμομηχανής:

ενώ () {

$ i = $ _; chomp ($ i); εκτός και αν ($ i) {last}

$ o = eval ($ i); εκτύπωση "Answer = $ on";

}

Όταν τρέχετε το πρόγραμμα, μπορείτε να εισάγετε κάτι σαν το εξής:

((2 ** 8) + (3 ** 8))

> Answer = 6817

Τυχαία λίστα

Στο Perl, η δημιουργία τυχαίων αριθμών είναι εύκολη, αλλά τυχαία η σειρά ενός πίνακα δεν είναι τόσο απλή. Παρόλα αυτά, μπορείτε να χρησιμοποιήσετε τη συνάρτηση ματίσματος για να τραβήξετε ένα τυχαίο στοιχείο από έναν πίνακα και στη συνέχεια να τοποθετήσετε το στοιχείο σε μια άλλη συστοιχία. Το ακόλουθο πρόγραμμα τυχαίνει τη λίστα @MyList:

my @TempList = ();

ενώ (@MyList)

{push (@TempList, splice (@MyList, rand (@MyList), 1)}}

@MyList = @TempList;

Το κόλπο εδώ είναι ότι το rand (@MyList) επιλέγει έναν αριθμό μεταξύ του 0 και του αριθμού των στοιχείων στο @MyList, και η ματιά αλλάζει αυτόν τον τυχαίο αριθμό σε έναν ακέραιο αριθμό.

Δημιουργία τυχαίων μνημονικών κωδικών πρόσβασης

Η προσπάθεια να πεισθούν οι χρήστες υπολογιστών να βρουν κωδικούς πρόσβασης που δεν είναι εύκολο να μαντέψουν είναι μια από τις πιο δύσκολες εργασίες για έναν διαχειριστή συστήματος. Οι άνθρωποι πάντοτε φαίνεται να επιμένουν να χρησιμοποιούν τα ονόματα γέννησής τους ή τα ονόματα των κατοικίδιων ζώων για κωδικούς πρόσβασης - η παραβίαση της ασφάλειας γίνεται έπειτα παιδί.

Το ακόλουθο πρόγραμμα δημιουργεί τυχαίους κωδικούς πρόσβασης. Αντί για ένα συνονθύλευμα επιστολών δύσκολο να θυμηθούμε, ωστόσο, οι κωδικοί πρόσβασης είναι μνημονικά μάλλον επειδή εμφανίζονται σε ζεύγη συφωνιών και φωνηέντων που είναι προφανή.Συνδυάζοντας μερικές συσκοτίζουσες συλλαβές, μπορείτε να δημιουργήσετε εύχρηστες φράσεις.

Κάθε συλλαβή του κωδικού πρόσβασης μπορεί να αντιπροσωπεύει έναν από τους 100 αριθμούς. Ως εκ τούτου, ένας μόνο κωδικός τεσσάρων συλλαβών, όπως το

votahubo, είναι ένας από τους 100 εκατομμύρια (100 έως τέταρτη δύναμη) τους δυνατούς κωδικούς πρόσβασης που δημιουργεί το πρόγραμμα. Έχοντας έναν διαχειριστή συστήματος να αναθέσει αυτούς τους κωδικούς πρόσβασης παρέχει περισσότερη ασφάλεια από ό, τι αφήνοντας τους χρήστες να επιλέξουν τους δικούς τους, εύκολα μαντέψανοι κωδικοί πρόσβασης: print "Εισάγετε έναν αριθμό σπόρου:"; $ s =;

srand ($ s ^ χρόνος);

@ c = διαίρεση (/ * /, "bcdfghjklmnprstvwxyz");

@ v = διαίρεση (/ * /, "aeiou");

($ i = 1; $ i <= 4; $ i + = 1)

{print $ c [int (rand (20) }

Οι πρώτες δύο γραμμές αυτού του προγράμματος αρχικοποιούν τον σπόρο για τους τυχαίους αριθμούς και οι επόμενες δύο γραμμές δημιουργούν λίστες που περιέχουν τα 20 ακονόνια (μείον

q ) και 5 φωνήεντα του αλφαβήτου. Ο βρόχος για απλά εκτυπώνει τις τέσσερις συλλαβές.

Συντονισμός σε δέκα σύντομα, χρήσιμα προγράμματα Perl - ανδρείκελα

Η επιλογή των συντακτών

GoPro Κάμερες Για Ανδρείκελα Εξέλιξη Φίλτρων

GoPro Κάμερες Για Ανδρείκελα Εξέλιξη Φίλτρων

Η κάμερα GoPro αλλάζει τον τρόπο με τον οποίο οι άνθρωποι κάνουν ταινίες. Δεν είναι μόνο οικονομικά προσιτό και ανθεκτικό, αλλά προσφέρει και χαρακτηριστικά που φαινόταν σαν πολύ μακρινά στοιχεία λίστας ευχών μόλις πριν από λίγα χρόνια. Μπορείτε να τοποθετήσετε αυτήν την κάμερα σε σχεδόν οτιδήποτε, να την υποβρύχετε και να καταγράφετε την πιο εκτεταμένη βιντεοταινία που γνωρίζει η ανθρωπότητα. Εντάξει, αυτό είναι ένα μικρό ...

Mounts για την κάμερα GoPro - dummies

Mounts για την κάμερα GoPro - dummies

Το GoPro έχει πολλά στηρίγματα και ένα για κάθε περίσταση και κατάσταση. Υπάρχουν mounts για το σκι σας, το roll bar του οχήματος all-terrain και την κορυφή του ποδηλάτου σας. Υπάρχει ακόμη και ένα που το σκυλί σας μπορεί να φορέσει ως σαγματοποιία. Εδώ είναι μερικά από τα βασικά κομμάτια (δείτε το σχήμα): ...

Οι GoPro HERO5 Μαύρες Dummies

Οι GoPro HERO5 Μαύρες Dummies

Μία φορά, ήταν μια σειρά από ονόματα που διαφοροποιούσαν το GoPro HERO, συμπεριλαμβανομένων των εκδόσεων Silver και White. Και ενώ πολλά από αυτά τα μοντέλα είναι ακόμα βιώσιμες επιλογές, η τελευταία έκδοση είναι μόνο για το Black. Είναι το μεγάλο kahuna της σειράς HERO και έχει ανανεωθεί τόσο πολύ ...

Η επιλογή των συντακτών

Πώς να ρυθμίσετε μια νέα ή υπάρχουσα τοποθεσία στο Dreamweaver - ανδρείκελα

Πώς να ρυθμίσετε μια νέα ή υπάρχουσα τοποθεσία στο Dreamweaver - ανδρείκελα

Site στο Dreamweaver, πρέπει να αποθηκεύσετε όλους τους πόρους του ιστότοπού σας σε έναν κύριο φάκελο ή κατάλογο στον σκληρό σας δίσκο. Το Dreamweaver ονομάζει αυτόν τον φάκελο τον φάκελο του τοπικού ιστότοπου και όταν ορίσετε έναν νέο ιστότοπο, απλά προσδιορίζετε ακριβώς αυτό το φάκελο στο Dreamweaver. Η διαδικασία εγκατάστασης ιστότοπου είναι ...

Πώς να αλλάξετε τη λειτουργία CSS και HTML στον περιηγητή ιδιότητας Dreamweaver - dummies

Πώς να αλλάξετε τη λειτουργία CSS και HTML στον περιηγητή ιδιότητας Dreamweaver - dummies

Ο επιθεωρητής ιδιότητας, ο οποίος είναι προσβάσιμος από το κάτω μέρος του χώρου εργασίας του Dreamweaver, εμφανίζει τις ιδιότητες που είναι διαθέσιμες σε οποιοδήποτε επιλεγμένο στοιχείο στη σελίδα. Επομένως, οι επιλογές στον επιθεωρητή ιδιοτήτων είναι διαφορετικές όταν επιλέγεται μια εικόνα από ό, τι όταν έχει επιλεγεί κείμενο, για παράδειγμα. Όταν δεν έχει επιλεγεί τίποτα ή αν επιλέξετε κείμενο στο ...

Πώς να ρυθμίσετε τις λειτουργίες FTP του Dreamweaver - dummies

Πώς να ρυθμίσετε τις λειτουργίες FTP του Dreamweaver - dummies

Αφού συγκεντρώσετε όλες τις πληροφορίες FTP για να ρυθμίσετε τις δυνατότητες δημοσίευσης FTP του Dreamweaver. Αυτή η διαδικασία μπορεί να φανεί τρομακτική και συχνά απαιτεί λίγες προσπάθειες για να γίνει σωστή, αλλά τα καλά νέα είναι ότι πρέπει να το κάνετε μόνο μία φορά. Ακολουθήστε αυτά τα βήματα για να ρυθμίσετε τις λειτουργίες FTP του Dreamweaver και να δημοσιεύσετε αρχεία ...

Η επιλογή των συντακτών

Πώς να Paint με το εργαλείο πινέλου στο Photoshop Elements 9

Πώς να Paint με το εργαλείο πινέλου στο Photoshop Elements 9

Το Photoshop Elements δημιουργεί μαλακές κινήσεις. Πόσο μαλακά αυτά τα εγκεφαλικά επεισόδια εξαρτώνται από το ποια βούρτσα χρησιμοποιείτε. Από προεπιλογή, ακόμη και η πιο σκληρή βούρτσα έχει μια ελαφρώς μαλακή άκρη επειδή είναι αντι-αλλιώς. Η αντικατάσταση δημιουργεί μια μόνο σειρά μερικώς γεμάτων εικονοστοιχείων κατά μήκος των άκρων για να παραχθεί η ψευδαίσθηση μιας ομαλής ακμής. Μπορείτε ...

Πώς να τοποθετήσετε μια εικόνα στο Photoshop Elements 10 Παράθυρο εικόνας - ανδρείκελα

Πώς να τοποθετήσετε μια εικόνα στο Photoshop Elements 10 Παράθυρο εικόνας - ανδρείκελα

Στοιχεία Photoshop Τα εργαλεία και οι λειτουργίες του παραθύρου εικόνας 10 είναι πιο χρήσιμα όταν μια εικόνα είναι ανοιχτή στο παράθυρο. Μόλις μια γρήγορη ματιά στο χώρο εργασίας Elements όταν εισάγετε τη λειτουργία πλήρους επεξεργασίας φωτογραφιών σας δείχνει κάποια ενέργεια που προσφέρει η Elements με ένα απλό πάτημα του κουμπιού του ποντικιού σας. Με όλες τις δυνατότητες, ...