如何使用perl在大写字母之前将下划线插入字符串

Mut*_*mar -2 perl

嗨我有一个String $ string ="insertUnderScore"; 现在我需要在大写字母之前插入_.输出应该是这样的:

$string = "insert_Unser_Score";
Run Code Online (Sandbox Code Playgroud)

有人能帮帮我吗?

ste*_*enl 5

my $string = "insertUnderScore";
$string =~ s/([A-Z])/_$1/g;
print $string;
Run Code Online (Sandbox Code Playgroud)

要么

$string =~ s/(?=[A-Z])/_/g;
Run Code Online (Sandbox Code Playgroud)