Кто-нибудь может мне объяснить, почему вывод этого небольшого скрипта perl - «foofoo» (а не «foo»)?
#!/usr/bin/perl -w
my $var="a";
$var=~s/.*/foo/g;
print $var."\n";
Без опции g это работает так, как я думал, но почему глобальная опция соответствует шаблону дважды?
В bash выводится «foo», как и ожидалось
echo "a"|sed -e "s/.*/foo/g"
Любое объяснение приветствуется.