Perl-Tk code snippets divers

De TechWik
Révision datée du 3 février 2018 à 18:14 par Toine (discussion | contributions) (Toine a déplacé la page Perl-Tk code snippets vers Perl-Tk code snippets divers)
Aller à : navigation, rechercher

Afficher les options disponibles et la valeur courante sur un widget

Exemple pour le widget Label:

 my $label = $mw->Label(-text => 'Hi World', -bg => 'white');
 my @elems = $label->configure();
 my $nbelems = @elems;
 my $elem;
 print my $elem;
 "$nbelems configuration elements for widget Label\n";
 my $i=0;
 foreach $elem (@elems)
   {print ++$i.">>".join(" - ",@$elem)."<<\n";}

Modules pour manipuler des fichiers

  • use File::Basename; # obtenir le répertoire, l'extension ou le nom de fichier
  • use File::Compare; # comparer des fichiers (attributs ou contenu)
  • use File::Copy; # copier déplacer des fichiers avec diverses possibilités
  • use File::Path; # créer des chemins, ...
  • use File::Temp qw (tempfile); # créer des répertoires ou fichiers temporaires
  • File::Find # permet de faire l'équivalent d'un "find -exec ..."

Manipuler une liste de fichiers correspondant à un motif

Pour itérer sur des fichiers correspondant à un motif (extension par exemple):

 foreach (<*.my>) {
   print $_;
 }

Afficher le contenu de structures de données

Voir le module Data::Dumper:

 #!/usr/local/bin/perl
 use strict;
 use Data::Dumper;
 my $data = [{"cle1" => "val1", "cle2" => "val2"},
       {"cle1a" => "val1a", "cle1b" => "val1b"},
       {"cle2a" => "val2a", "cle2b" => "val2b"}];
 $d = Data::Dumper->new($data);
 print $d->Dump;

Affiche:

 $VAR1 = {
         'cle1' => 'val1',
         'cle2' => 'val2'
       };
 $VAR2 = {
         'cle1b' => 'val1b',
         'cle1a' => 'val1a'
       };
 $VAR3 = {
         'cle2b' => 'val2b',
         'cle2a' => 'val2a'
       };