Perl-Tk code snippets divers

De TechWik
(Redirigé depuis Perl-Tk code snippets)
Aller à : navigation, rechercher

Afficher les options disponibles et la valeur courante sur un widget

Exemple pour le widget Label:

1   my $label = $mw->Label(-text => 'Hi World', -bg => 'white');
2   my @elems = $label->configure();
3   my $nbelems = @elems;
4   my $elem;
5   print my $elem;
6   "$nbelems configuration elements for widget Label\n";
7   my $i=0;
8   foreach $elem (@elems)
9     {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):

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

Afficher le contenu de structures de données

Voir le module Data::Dumper:

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

Affiche:

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