Etape 6: Appliquer des Expressions régulières à l’iTunes Script
En lisant le code xml, certains caractères, tels que la barre oblique, sont rencontrent assez souvent. Par conséquent, nous profiterons du fait que la m / / opérateur vous choisissez quelque délimiteurs souhaitée dans le code (nous utiliserons crochets, bien que les autres délimiteurs travaillera certainement)
Tout d’abord, nous avons seulement besoin de lire une partie du fichier XML complet iTunes. Parties d’un fichier contenant des informations comme les listes de lecture, etc. ne sont pas nécessaires. La première ligne de la section listes de lecture, qui vient après les informations de la chanson, ressemble à ce qui suit :
< clé > Playlists < / clé >
Par conséquent, dans un certain temps boucle, nous pouvons ajouter dans une déclaration qui saute à la fin du fichier lecture si cette ligne est rencontrée.
while(<XML_FILE>) { #loop_instructions_here last if($_ =~ m[<key>Playlists</key>])}
Ensuite, pour générer le hachage IDs, nous pouvons utiliser une arborescence de l’if-elsif pour construire notre base de données de hachages, en utilisant les variables de correspondance mémoire que nous avons appris à l’étape précédente pour enregistrer des valeurs dans les valeurs de hachage :
if($_ =~ m[<key>(\d+)</key>]) { $id = $1; } elsif($_ =~ m[<key>Rating</key><integer>(\d+)</integer>]) { $rate_hash{$id} = $1; } elsif($_ =~ m[<key>Name</key><string>(.+)</string>]) { $name_hash{$id} = $1; } elsif($_ =~ m[<key>Artist</key><string>(.+)</string>]) { $art_hash{$id} = $1; } elsif($_ =~ m[<key>Location</key><string>file://localhost(.*)</string>]) { $loc_hash{$id} = $1; }
Maintenant que nous avons construit la base de notre base de données de hachage, nous allons couvrir les localiser et de suppression des fichiers de 1 étoile, donc à partir de l’étape suivante !