question de style.

Le
kurtz_le_pirate
bonjour,

un petit de code qui fonctionne bien :

if(-f){
my $fileSize = (stat($_)->size)/1024/1024;
my(undef, undef, $ftype) = fileparse($_,qr/.[^.]*/);
$ftype=lc($ftype);
if (exists($files{$ftype})) {
$files{$ftype}[0]++;
$files{$ftype}[1]+=$fileSize;
}
else {
$files{$ftype}[0]=1;
$files{$ftype}[1]=$fileSize;
}
}

deux questions :
- je trouve le if(exists()) pas très élégant.
existe-t-il une autre moyen ?
- peux-t-on "definir" une "constante" pour
remplacer et faciliter les accès au hash
<reve on>
use constant NB_FICHIERS $files{$ftype}[0]
use constant TAILLE_TOTALE $files{$ftype}[1]
<reve off>



merci
--
klp
"bug : probleme d'interface entre la chaise et le clavier"
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
espie
Le #18154121
In article kurtz_le_pirate
bonjour,

un petit de code qui fonctionne bien :

if(-f){
my $fileSize = (stat($_)->size)/1024/1024;
my(undef, undef, $ftype) = fileparse($_,qr/.[^.]*/);
$ftype=lc($ftype);
if (exists($files{$ftype})) {
$files{$ftype}[0]++;
$files{$ftype}[1]+=$fileSize;
}
else {
$files{$ftype}[0]=1;
$files{$ftype}[1]=$fileSize;
}
}

deux questions :
- je trouve le if(exists()) pas très élégant.
existe-t-il une autre moyen ?


Oui, le test ne sert plus a rien sur les perl recents, qui ont un
truc sympa qui s'appelle l'autovivification...

- peux-t-on "definir" une "constante" pour
remplacer et faciliter les accès au hash
<reve on>
use constant NB_FICHIERS $files{$ftype}[0]
use constant TAILLE_TOTALE $files{$ftype}[1]
<reve off>


Fais de l'objet.
Publicité
Poster une réponse
Anonyme