Perl linha de comando multi-linha substituir

Estou tentando substituir o texto em um arquivo de várias linhas usando o perl da linha de comando. Estou usando o Ubuntu Natty.

Abaixo está o conteúdo do meu arquivo de texto (chamado 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

Abaixo é o meu comando perl:

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

No entanto, em vez de substituir todo o texto do arquivo, abaixo está o que eu acabo com:

[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
#

Tentei o Regex no RegexBuddy para Perl e ele corresponde a tudo no arquivo de texto, mas por algum motivo não está funcionando usando o perl na linha de comand

Eu apreciaria alguma ajuda.

Desde já, obrigado

questionAnswers(4)

yourAnswerToTheQuestion