С приведением в нижний регистр несколько сложнее, в одно выражение уложиться сходу не могу. Такой вариант:
s/(.)([A-Z])/$1-\L$2/g;
даёт нижний регистр, но только для тех букв, к которым применялась замена, т.е. первая буква останется заглавной (One-two-three). Наверное, можно как-то извратиться, но раз регистр не важен…