Paso 6: Aplicar expresiones regulares a iTunes Script
Cuando se lee el código xml, ciertos caracteres, como la barra, se encuentran bastante a menudo. Por lo tanto, aprovecharemos el hecho de que el m / / operador elijamos cualquier delimitadores que desee en el código (usamos corchetes, aunque otros delimitadores sin duda funcionará)
En primer lugar, sólo tenemos que leer una porción del archivo XML de iTunes completo. Las partes del archivo que contiene información como listas de reproducción, etc. no son necesarias. La primera línea de la sección de listas de reproducción, lo que viene después de la información de la canción, se parece a lo siguiente:
clave de < > listas de reproducción < / clave >
Por lo tanto, en un tiempo bucle, podemos agregar en un comunicado que salta al final del archivo si se encuentra esa línea de lectura.
while(<XML_FILE>) { #loop_instructions_here last if($_ =~ m[<key>Playlists</key>])}
A continuación, para crear el hash ID, podemos utilizar un árbol de if-elsif para construir nuestra base de datos de hashes, utilizando las variables de memoria partido que aprendimos en el paso anterior para guardar los valores en los algoritmos hash:
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; }
Ahora que hemos construido la base de nuestra base de datos hash, cubrimos localizar y eliminar los archivos de 1 estrella, así que adelante con el siguiente paso!