% cat test.pl /home/legioner/test #!/usr/bin/perl my $str = "_a_b_c_"; while ($str =~ /_(.)_/g) { print "$1\n"; } % ./test.pl /home/legioner/test a c % /home/legioner/test Почему это происходит, и как сделать, чтобы было "по нормальному"? В справке написано g Match globally, i.e., find all occurrences.