La documentation de l'option /m
dans perlre dit ceci:En Perl, y a-t-il une différence entre/^/et/^/m?
chaîne Traiter comme plusieurs lignes. , remplacez "^" et "$" par le début ou la fin de la chaîne correspondant au début ou à la fin de la ligne n'importe où dans la chaîne.
Mais cet exemple semble indiquer que /^/
et /^/m
se comportent de la même façon. Qu'est-ce que je ne comprends pas?
use strict;
no warnings; # Ignore warning about implicit split to @_
my $x = " \n \n ";
print scalar(split /^/m, $x), scalar(split /$/m, $x), "\n"; # 33
print scalar(split /^/, $x), scalar(split /$/, $x), "\n"; # 31
Lorsque vous pensez avoir trouvé quelque chose de bizarre, essayez de le reproduire en utilisant une technique complètement différente. Cela vous aurait montré que c'est la séparation magique, pas le/m. :) –