Perl-Tk code snippets divers : Différence entre versions

De TechWik
Aller à : navigation, rechercher
(Page créée avec « = 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... »)
 
m
Ligne 10 : Ligne 10 :
 
   foreach $elem (@elems)
 
   foreach $elem (@elems)
 
     {print ++$i.">>".join(" - ",@$elem)."<<\n";}
 
     {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'
 +
        };

Version du 3 février 2018 à 18:13

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'
       };