[perl] récupération sous chaine de caractères

[Fermé]
Signaler
-
 ge perl -
Bonjour à tous,


j'écris un script en perl (je suis débutant) où j'ai une variable qui contient un texte du type : "blabla<title>TEXTE_A_RECUPERER</title>blabla"

vous l'aurez compris, je cherche à récupérer le texte "TEXTE_A_RECUPERER", situé entre les balises <title>.

j'ai essayé avec la fonction split et les regexp, mais ca marche pas, surement parce que je les utilise mal...

Est ce que qql à une idée ?
Merci d'avance !
Christophe

4 réponses

re bonjour,

si je fais ca :

$ligne = "blabla<title>TEXTE_A_RECUPERER</title>blabla"
my $test = ($ligne =~ /.*<title>(.*)<\/title>.*/);
print "test : $test\n";

la variable $test vaut 1 , donc j'ai bien trouvé que j'ai du texte entre 2 balises title, mais je n'arrive pas à récupérer le texte en question

quelqu"un connait la fonction qui va bien ?

Merci
Christophe
youpi, j'ai touvé !

pour ceux que ca interesse :

$ligne = "blabla<title>TEXTE_A_RECUPERER</title>blabla"
$ligne =~ /.*<title>(.*)<\/title>.*/;
print "$1<br>\n";

Tout simplement !
A+
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 554
Salut,

dans ton cas .* c'est inutile
$ligne = "blabla<title>TEXTE_A_RECUPERER</title>blabla" 
$ligne =~ /<title>(.*)<\/title>/; 
print "$1<br>\n"; 


Salut,

Je suis un débutant en programmation du langage perl je voudrai savoir comment récupérer les quatre derniers caractère de chaque ligne d'un fichier.
Pouvez-Vous m'aider à écrire le script?
Merci