use strict; use warnings; my $str = do { local $/ = undef; <> }; my $abo_re = qr{

Mon compte

\s*
\s*

Mon abonnement

\s*
\s*
\s*

Votre compte prend fin le : ([^<]+)

\s*

Il vous reste encore (\d+) jours d'abonnement

\s*

\s+Vous n'avez pas de vélo en cours de location.}; print "abo ", $str =~ /$abo_re/ ? "fin $1 days $2" : 0, "\n"; my $solde_re = qr{

\s*Mon paiement en ligne

\s*
\s*
\s*

Solde :(\S+) €

}; print "solde ", $str =~ /$solde_re/ ? $1 : '-', "\n"; my $conso_re = qr{

Ma consommation en (\S+) (\d+)

\s*
\s*
\s* \s* \s* \s* \s* \s* \s* \s* \s* \s*}; print "conso ", $str =~ /$conso_re/ ? "mois $1 year $2 trips $3 time $4 solde $5" : 0, "\n"; my $meteo_re = qr{Météo \s*
\s*

Paris, France ([^<]+)

\s*
Nbre de trajetsTemps cumuléMontant
(\d+)([^<]+)(\S+) €
\s* \s* \s* \s* \s* \s* \s* \s* \s* \s* \s* \s* \s* \s*}; print "meteo ", $str =~ /$meteo_re/ ? "date $1 $2:$8 $3:$9 $4:$10\n$5\n$6\n$7" : 0, "\n";
([^<]+)([^<]+)([^<]+)
(\d+)° (\d+)° (\d+)°