ça veut dire quoi ?

Le
kurtz_le_pirate
bonjour,

je travaille en ce moment sur les eventlog de windows
avec Win32::EventLog et en regardant le fichier
"EventLog.pm" je trouve :

$self->{Strings} =~ tr///,


et la, je ne comprends pas à quoi sert cette transformation
qui à priori ne transforme rien :))


juste pour comprendre, quelqu'un a une explication ?
--
klp
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Baptiste Mazon
Le #153334
"kurtz_le_pirate"
je travaille en ce moment sur les eventlog de windows
avec Win32::EventLog et en regardant le fichier
"EventLog.pm" je trouve :
...
$self->{Strings} =~ tr///,
...

et la, je ne comprends pas à quoi sert cette transformation
qui à priori ne transforme rien :))


Le code complet est:

GetEventLogText($self->{Source},
$self->{EventID},
$self->{Strings},
$self->{Strings} =~ tr///,
my $message);

Cette transformation qui ne transforme rien n'est effectivement pas
une transformation: elle est placée en argument de GetEventLogText
pour renvoyer une valeur.

L'opérateur tr est dćrit dans perlop; la signification de sa vale ur de
retour est détaillée dans le premier paragraphe. L'usage qui en est
fait dans EventLog.pm est un des exemples, sous une autre forme.

kurtz_le_pirate
Le #153233
"Jean-Baptiste Mazon" de news:
"kurtz_le_pirate"
je travaille en ce moment sur les eventlog de windows
avec Win32::EventLog et en regardant le fichier
"EventLog.pm" je trouve :
...
$self->{Strings} =~ tr///,
...

et la, je ne comprends pas à quoi sert cette transformation
qui à priori ne transforme rien :))

Le code complet est:

GetEventLogText($self->{Source},
$self->{EventID},
$self->{Strings},
$self->{Strings} =~ tr///,
my $message);

Cette transformation qui ne transforme rien n'est effectivement pas
une transformation: elle est placée en argument de GetEventLogText
pour renvoyer une valeur.

L'opérateur tr est dcrit dans perlop; la signification de sa valeur
de
retour est détaillée dans le premier paragraphe. L'usage qui en est
fait dans EventLog.pm est un des exemples, sous une autre forme.


mais oui... c'est une utilisation pas habituelle de cette fonction.
la doc dit "it returns the number of characters replaced or deleted".
c'est une subtilité pour compter le nombre de chaines "à la c".

merci de ton aide, je vais me couché un peu moins bète.

--
klp

Jean-Baptiste Mazon
Le #153232
"kurtz_le_pirate"
mais oui... c'est une utilisation pas habituelle de cette fonction.
la doc dit "it returns the number of characters replaced or deleted".
c'est une subtilité pour compter le nombre de chaines "à la c".


Je conviens qu'elle soit assez surprenante au premier abord, quand on
ne voit en tr qu'un opérateur de transformation. À ma connaissance,
c'est tout de même la manière la plus rapide de faire. Je pense que
l'idiome est répandu pour ce besoin, mais que le besoin lui-même est
plus rare.

Publicité
Poster une réponse
Anonyme