Accueil Finances personnelles Syntonisation de dix programmes Perl courts et utiles - mannequins

Syntonisation de dix programmes Perl courts et utiles - mannequins

Table des matières:

Vidéo: You Bet Your Life: Secret Word - Floor / Door / Table 2025

Vidéo: You Bet Your Life: Secret Word - Floor / Door / Table 2025
Anonim

Certaines personnes pensent que les programmes courts ne sont pas bons pour beaucoup, mais ce n'est pas le cas de Perl. Juste quelques lignes de code Perl peuvent aller un long chemin. Cet article répertorie des programmes Perl très pratiques.

Collecte de lignes uniques

Si votre fichier texte contient plusieurs lignes qui sont en double et que vous ne voulez voir que les lignes uniques, vous pouvez les collecter dans un tableau (dans ce cas, @Unique) avec le programme suivant:

ouvrir (IN, "quelquechose.txt"); @ Unique = ();

while () {sauf ($ i {$ _} ++) {push (@Unique, $ _)}}

L'astuce ici est que $ i {$ _} ++ retourne 0 la première fois vous créez une paire clé-valeur avec $ _ comme clé, et une valeur non nulle après cela.

Suppression de plusieurs lignes vides

Certains fichiers texte comportent plusieurs lignes vides consécutives, ce qui les rend difficiles à lire, en particulier sur les petits écrans. Le programme suivant imprime un fichier texte en compressant toutes les instances de deux ou plusieurs lignes vides dans une seule ligne vide.

Remarque: Une ligne vide peut comporter des caractères blancs, tels que des espaces et des tabulations, mais aucun caractère affichable.

ouvrir (IN, "un fichier.txt"); $ PrevBlank = 0;

while () {

if (/ S / ou! $ PrevBlank) {print $ _}

$ PrevBlank = / ^ s * $ /;

}

L'instruction if de l'exemple précédent est vraie s'il y a des caractères non vides sur la ligne ou si la ligne précédente n'était pas vide. L'affectation $ PrevBlank vous indique si la ligne en cours est vide, ce qui signifie qu'elle a zéro ou plusieurs caractères espaces et rien d'autre.

Imprimer des lignes à partir d'un fichier dans l'ordre du tri

Il est facile d'oublier l'utilité de la fonction de tri de Perl. Le programme suivant lit le fichier entier dans un tableau, trie le tableau et imprime le résultat. Court et doux, et assez efficace pour démarrer:

ouvrir (IN, "somefile.txt");

print sort ();

Imprimer une série de lignes à partir d'un fichier

Avez-vous déjà voulu lire seulement quelques lignes d'un fichier, et pas tout? Le programme suivant imprime uniquement une série de lignes. Vous exécutez le programme avec deux arguments: la plage que vous voulez et le nom de fichier. Par exemple, si vous nommez votre programme "showline" et que vous voulez voir les lignes 10 à 20 du fichier. fichier txt, vous utilisez cette ligne de commande:

showline 10-20 unfichier. txt

Le programme suivant imprime une série de lignes:

ouvrir (IN, $ ARGV [1]) ou mourir "Impossible de lire le fichier $. n ";

($ Start, $ Stop) = split (/ - /, $ ARGV [0]);

pour ($ i = 1; $ i <= $ stop; $ i + = 1)

{$ Ligne =; if ($ i> = $ Start) {print $ Line}}

Liste seulement les fichiers dans un répertoire

Parfois, vous pouvez ignorer les sous-répertoires dans un répertoire et vous concentrer sur les fichiers.Vous pouvez utiliser le test de fichier -f suivant pour lister tous les fichiers d'un répertoire:

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

Liste d'un répertoire par taille

Pour trier une liste de répertoires par autre chose que ses noms de fichiers, votre programme doit conserver une liste d'enregistrements comprenant les noms et autres éléments de la liste. Les hachages sont excellents à utiliser pour ce genre de liste qui a des enregistrements avec une clé (le nom de fichier) et une valeur (les autres informations de répertoire). Le programme suivant crée un hachage qui répertorie la taille de chaque fichier dans le répertoire, puis trie les éléments pour la sortie. (Vous pouvez facilement modifier ce programme pour trier par date plutôt que par taille.)

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

foreach $ k (trier {$ i {$ b} <= & gt $ i {$ a}} clés% i)

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

Tri des répertoires par extension

Le tri par une partie d'un nom de fichier est un processus légèrement plus difficile que le tri par taille de fichier ou par la date à laquelle le fichier a été modifié. Le programme suivant divise le nom de fichier en deux et trie par la seconde partie. Si vous exécutez Perl sur un système UNIX ou Macintosh, ce programme fonctionne de manière prévisible uniquement si les noms de fichiers n'ont pas de période ou de période:

foreach $ FullName () {

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

push (@Temp, "$ Extt $ FullName");

}

foreach $ Val (sort (@Temp)) {

($ Ext, $ FullName) = split (/ t /, $ Val);

imprimez "$ FullNamen";

}

Créer une calculatrice simple

Avez-vous déjà eu besoin d'une calculatrice facile à utiliser pour vous débarrasser d'un calcul rapide? Le programme suivant utilise la fonction eval de Perl pour imprimer les réponses à toute équation que vous entrez. Pour terminer le programme, entrez une ligne vide. Voici ce programme pour créer votre propre calculatrice:

while () {

$ i = $ _; chomp ($ i); sauf si ($ i) {last}

$ o = eval ($ i); print "Réponse = $ sur";

}

Lorsque vous exécutez le programme, vous pouvez entrer quelque chose comme:

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

et vous obtenez ce résultat: > Réponse = 6817

Randomiser une liste

En Perl, générer des nombres aléatoires est facile, mais randomiser l'ordre d'un tableau n'est pas aussi simple. Néanmoins, vous pouvez utiliser la fonction splice pour extraire un élément aléatoire d'un tableau, puis placer l'élément dans un autre tableau. Le programme suivant randomise la liste @MyList:

my @TempList = ();

while (@MyList)

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

@MonList = @TempList;

L'astuce ici est que rand (@MyList) sélectionne un nombre entre 0 et le nombre d'éléments dans @MyList, et splice change ce nombre aléatoire en entier.

Générer des mots de passe mnémoniques aléatoires

Essayer de convaincre les utilisateurs d'ordinateurs de trouver des mots de passe difficiles à deviner est l'une des tâches les plus difficiles pour un administrateur système. Les gens semblent toujours insister sur l'utilisation de leur date de naissance ou des noms d'animaux de compagnie pour les mots de passe - briser la sécurité devient alors un jeu d'enfant.

Le programme suivant génère des mots de passe aléatoires. Au lieu d'un fouillis de lettres difficiles à retenir, cependant, les mots de passe sont quelque peu mnémoniques parce qu'ils apparaissent dans des paires de consonnes et de voyelles qui sont prononçables.En enchaînant quelques syllabes goofy-sounding, vous pouvez générer des phrases non-sens faciles à mémoriser.

Chaque syllabe du mot de passe peut représenter n'importe lequel des 100 nombres; par conséquent, un seul mot de passe de quatre syllabes, tel que

votahubo, , est l'un des 100 millions de mots de passe possibles (100 à la puissance 4) que le programme génère. Le fait qu'un administrateur système attribue ces mots de passe offre plus de sécurité que de laisser les utilisateurs choisir leurs propres mots de passe, faciles à deviner: print "Entrez un numéro de départ:"; $ s =;

srand ($ s ^ heure);

@ c = split (/ * /, "bcdfghjklmnprstvwxyz");

@ v = split (/ * /, "aeiou");

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

{print $ c [int (rand (20))], $ v [int (rand (5))] }

Les deux premières lignes de ce programme initialisent la graine pour les nombres aléatoires, et les deux suivantes créent des listes contenant les 20 consonnes (moins

q ) et 5 voyelles de l'alphabet. La boucle for imprime simplement les quatre syllabes.

Syntonisation de dix programmes Perl courts et utiles - mannequins

Le choix des éditeurs

Découvrir les Méditations de Pleine Conscience Formelle - les nuls

Découvrir les Méditations de Pleine Conscience Formelle - les nuls

Pour approfondir votre conscience consciente, vous devez pratiquer une méditation de pleine conscience sur une base quotidienne. Familiarisez-vous avec certaines des médiations suivantes. Avec le temps, vous deviendrez plus conscient de votre vie quotidienne. Body Meditation Meditation - Cette méditation implique de passer environ une demi-heure, en prenant conscience de ...

Démystifier Dan Brown: Les Templiers Royaux - les nuls

Démystifier Dan Brown: Les Templiers Royaux - les nuls

Les Templiers sont presque aussi fictifs dans Dan Brown Le code Da Vinci comme les chevaliers Jedi sont dans Star Wars. Bien que le héros Robert Langdon hésite d'abord à élever les Templiers dans ses cours, parce que la mention même d'eux fait ressortir les amants du complot, Brown n'a aucun problème à les faire participer ...

Démystification des mythes communs sur la franc-maçonnerie - mannequins

Démystification des mythes communs sur la franc-maçonnerie - mannequins

La franc-maçonnerie moderne existe depuis 1717. Les premières contre-vérités concoctées sur l'Ordre sont apparues en impression à peu près en même temps. Les États-Unis étaient consumés par l'hystérie anti-maçonnique à la fin des années 1820, et l'Europe a fait de Mason-bashing un sport populaire pendant deux siècles, le liant souvent à la propagande antisémite. Internet n'a que ...

Le choix des éditeurs

À L'aide de la boîte de dialogue Configurer l'affichage dans PowerPoint 2011 pour Mac - témoins

À L'aide de la boîte de dialogue Configurer l'affichage dans PowerPoint 2011 pour Mac - témoins

Dans la boîte de dialogue Configurer l'affichage dans PowerPoint, cliquez sur le bouton Configurer l'affichage dans l'onglet Diaporama du ruban Office 2011 pour Mac, ou choisissez Diaporama → Configurer l'affichage dans la barre de menus. Dans les deux cas, la boîte de dialogue Configurer l'affichage polyvalent apparaît. Choisir un type de spectacle dans PowerPoint 2011 pour Mac ...

Enregistrement des fichiers dans Office 2011 pour Mac - témoins

Enregistrement des fichiers dans Office 2011 pour Mac - témoins

Enregistrement d'un fichier sur lequel vous travaillez dans Office 2011 pour Mac est aussi simple que de cliquer sur le bouton Enregistrer dans la barre d'outils Standard, en appuyant sur Commande-S ou en choisissant Fichier → Enregistrer. Si votre fichier a été enregistré précédemment, l'enregistrement du fichier remplace la copie existante du fichier par votre version mise à jour. Si votre fichier n'a pas ...

Fonctionnant avec les modèles de diapositives maîtres dans PowerPoint 2011 pour Mac - les nuls

Fonctionnant avec les modèles de diapositives maîtres dans PowerPoint 2011 pour Mac - les nuls

Dans Office 2011 pour Mac, l'ajout d'une nouvelle présentation de diapositive à une diapositive dans la vue Diapositive maître de PowerPoint 2011 est une tâche assez simple à effectuer. Suivez ces étapes pour commencer: Assurez-vous que vous êtes en mode Masque des diapositives. Choisissez Affichage → Maître → Masque de diapositives dans la barre de menus. Cliquez sur l'onglet Masque des diapositives du ruban, ...

Le choix des éditeurs

Sélectionnez PowerPoint 2007 Objects - dummies

Sélectionnez PowerPoint 2007 Objects - dummies

Avant de pouvoir modifier un objet PowerPoint 2007 sur une diapositive, vous devez le sélectionner. Dans les présentations PowerPoint, les objets peuvent être du texte, des graphiques, des images clipart, des formes, etc. Voici quelques instructions pour sélectionner les objets PowerPoint 2007: Objets texte: Pour sélectionner un objet texte PowerPoint 2007, déplacez le point d'insertion sur le texte qui ...

Définir le contour de la forme sur une diapositive PowerPoint 2007 - dummies

Définir le contour de la forme sur une diapositive PowerPoint 2007 - dummies

Le contrôle shapePoint de powerPoint vous permet style des objets de ligne ou la bordure pour les objets de forme solide sur vos diapositives PowerPoint. Le contrôle Shape Outline se trouve dans le groupe Styles de formes de l'onglet Outils de dessin. Vous pouvez modifier les paramètres suivants pour le contour: Couleur: Définit la couleur utilisée pour ...

PowerPoint 2016 pour les nuls Cheat Sheet - les nuls

PowerPoint 2016 pour les nuls Cheat Sheet - les nuls

PowerPoint 2016 est le logiciel de présentation le plus puissant disponible pour créer et éditer la diapositive montrer des présentations pour le travail, la maison ou l'école. PowerPoint 2016 offre un certain nombre de raccourcis clavier utiles pour effectuer des tâches rapidement. Voici quelques raccourcis pour le formatage PowerPoint commun, l'édition et les tâches de fichiers et de documents. De plus, après avoir créé votre chef-d'œuvre, vous ...