use strict; use locale; $/="\n\n"; while ( my $paragraphe = ){ $paragraphe =~ s/\n/ /g; $paragraphe =~ s/ +/ /g; while ( $paragraphe =~ /\pL+ (de |d' ?|du )(le |la |les |l' ?)?(\pL+)/ ) { print $&, "\n"; $paragraphe = $3.$'; } }