Perl командной строки многострочной замены

Я пытаюсь заменить текст в многострочном файле, используя Perl командной строки. Я использую Ubuntu Natty.

Ниже приведено содержимое моего текстового файла (называемого test.txt):

[mysqld]
#
# * Basic Settings
#

#
# * IMPORTANT
#   If you make changes to these settings and your system uses apparmor, you may
#   also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#

user            = mysql
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
skip-external-locking

Ниже моя команда Perl:

perl -i -pe "s/(\[mysqld\][^\^]+)/\1\nsometext/g" test.txt

Однако вместо того, чтобы заменить весь текст в файле, ниже я получаю следующее:

[mysqld]

sometext#
# * Basic Settings
#

#
# * IMPORTANT
#   If you make changes to these settings and your system uses apparmor, you may
#   also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#

user            = mysql
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
skip-external-locking
#

Я пробовал Regex в RegexBuddy для Perl, и он соответствует всему текстовому файлу, но по какой-то причине он не работает с использованием perl в командной строке.

Буду признателен за помощь.

Заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос