La commande tie en Perl
1. Introduction
En perl, certaines variables sont « magiques » : quand on les utilise,
l'ordinateur ne se comtente pas d'accéder à leur valeur ou de la modifier,
il peut appeler une fonction.
Ainsi, quand on écrit $|=1
, il appelle la fonction C flush()
.
2. Exemple
Il y en a dans la page de manuel
man perltie
3. Applications
- Tout d'abord, l'exemple qui nous a servi d'introduction : on peut
cacher des appels de fonction dans des variables. La page de manuel donne
un exemple avec une varible
$nice
qui appelle la fonction
Unix du même nom. Je ne pense pas que ce soient vraiment des applications
utiles, car on peut aussi bien écrire une fonction qui fasse cela.
Le seul effet est de cacher les choses à l'utilisateur. Je n'en vois pas
l'utilité. Voir aussi le module Env
.
- La toute première application (avant même que la commande
tie
n'apparaisse) est l'accès à des bases de données rudimentaires, i.e.,
des tables de hachage sur le disque. Voir le module
DB_File
. Les variables utilisées ne sont plus ici des scalaires, mais
des tables de hachage.
- La lecture du module
Config
montre comment créer des variables
à lecture seule grace à la commande tie
.
- En utilisant la commande
tie
avec des descripteurs de fichier,
on peut lire ou écrire dans des fichiers compressés de manière transparente
(je crois que le module CPAN
fait cela).
On peut aussi écrire dans un widget comme si c'était un fichier.
- Lire la page de manuel du module
perldoc overload
(je ne l'ai pas lue).
Vincent Zoonekynd (zoonek@math.jussieu.fr)
(Mai 1999)
Dernière modification le 25 mai 1999.