Je suis un débutant en perl. J'ai un fichier texte avec un texte similaire à ci-dessous. J'ai besoin d'extraire VALEUR = "< VALEUR NÉCESSAIRE>". Dites pour SPINACH, je devrais obtenir SALAD seul. Comment utiliser perl regex pour obtenir la valeur. J'ai besoin d'analyser plusieurs lignes pour l'obtenir. à-dire entre chaque #ifonly --- #endifonlyanalyser plusieurs lignes dans l'expression régulière perl et extraire la valeur
$ cat check.txt
while (<$file>)
{
if (m/#ifonly .+ SPINACH .+ VALUE=(")([\w]*)(") .+ #endifonly/g)
{
my $chosen = $2;
}
}
#ifonly APPLE CARROT SPINACH
VALUE="SALAD" REQUIRED="yes"
QW RETEWRT OIOUR
#endifonly
#ifonly APPLE MANGO ORANGE CARROT
VALUE="JUICE" REQUIRED="yes"
as df fg
#endifonly
Egalement, un peu plus court: next sauf si (/ # ifonly. + SPINACH/.. (mon ($ value) =/VALEUR = "([^"] *) "/)) = ~/E0 $ /; Mais franchement, ça casse mon indentation, donc je ne l'utiliserais pas.:) Il se passe aussi pas mal de choses là-bas, ce qui n'est peut-être pas la meilleure pour la maintenabilité – Hugmeir
Assez sympa, et (encore une fois) le lien que vous avez posté m'a appris quelque chose, alors merci pour cela – canavanin
@canavanin J'ai tous les liens, vous êtes tous les bienvenus - le Effective Perler est mon blog Perl préféré, donc c'est toujours un plaisir de diriger les gens là-bas. – Hugmeir