Perl-Tk code snippets divers : Différence entre versions
(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 |
||
| (4 révisions intermédiaires par le même utilisateur non affichées) | |||
| 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 = | ||
| + | *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): | ||
| + | <syntaxhighlight lang="perl" line='line'> | ||
| + | foreach (<*.my>) { | ||
| + | print $_; | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | =Afficher le contenu de structures de données= | ||
| + | Voir le module Data::Dumper: | ||
| + | <syntaxhighlight lang="perl" line='line'> | ||
| + | #!/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; | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | Affiche: | ||
| + | $VAR1 = { | ||
| + | 'cle1' => 'val1', | ||
| + | 'cle2' => 'val2' | ||
| + | }; | ||
| + | $VAR2 = { | ||
| + | 'cle1b' => 'val1b', | ||
| + | 'cle1a' => 'val1a' | ||
| + | }; | ||
| + | $VAR3 = { | ||
| + | 'cle2b' => 'val2b', | ||
| + | 'cle2a' => 'val2a' | ||
| + | }; | ||
| + | |||
| + | [[Category:Perl]] | ||
| + | [[Category:Snippets]] | ||
Version actuelle datée du 28 juillet 2018 à 15:59
Sommaire
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'
};