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

De TechWik
Aller à : navigation, rechercher
m
m
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

Version du 28 juillet 2018 à 15:58

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):

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