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

De TechWik
Aller à : navigation, rechercher
m
m
 
(Une révision intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
 
= Afficher les options disponibles et la valeur courante sur un widget =
 
= Afficher les options disponibles et la valeur courante sur un widget =
 
Exemple pour le widget Label:
 
Exemple pour le widget Label:
 +
<syntaxhighlight lang="perl" line='line'>
 
   my $label = $mw->Label(-text => 'Hi World', -bg => 'white');
 
   my $label = $mw->Label(-text => 'Hi World', -bg => 'white');
 
   my @elems = $label->configure();
 
   my @elems = $label->configure();
Ligne 10 : Ligne 11 :
 
   foreach $elem (@elems)
 
   foreach $elem (@elems)
 
     {print ++$i.">>".join(" - ",@$elem)."<<\n";}
 
     {print ++$i.">>".join(" - ",@$elem)."<<\n";}
 
+
</syntaxhighlight>
 
=Modules pour manipuler des fichiers =
 
=Modules pour manipuler des fichiers =
 
*use File::Basename;                      # obtenir le répertoire, l'extension ou le nom de fichier
 
*use File::Basename;                      # obtenir le répertoire, l'extension ou le nom de fichier
Ligne 21 : Ligne 22 :
 
=Manipuler une liste de fichiers correspondant à un motif=
 
=Manipuler une liste de fichiers correspondant à un motif=
 
Pour itérer sur des fichiers correspondant à un motif (extension par exemple):
 
Pour itérer sur des fichiers correspondant à un motif (extension par exemple):
 +
<syntaxhighlight lang="perl" line='line'>
 
   foreach (<*.my>) {
 
   foreach (<*.my>) {
 
     print $_;
 
     print $_;
 
   }
 
   }
 +
</syntaxhighlight>
  
 
=Afficher le contenu de structures de données=
 
=Afficher le contenu de structures de données=
 
Voir le module Data::Dumper:
 
Voir le module Data::Dumper:
 +
<syntaxhighlight lang="perl" line='line'>
 
   #!/usr/local/bin/perl
 
   #!/usr/local/bin/perl
 
   use strict;
 
   use strict;
Ligne 35 : Ligne 39 :
 
   $d = Data::Dumper->new($data);
 
   $d = Data::Dumper->new($data);
 
   print $d->Dump;
 
   print $d->Dump;
 +
</syntaxhighlight>
  
 
Affiche:
 
Affiche:

Version actuelle datée du 28 juillet 2018 à 15:59

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