in reply to Break my regex, please

Lots could break this - you'll just have to test it more.

As for that space, the reason why you are not grabbing it in $3 is because you are specifying a space before the slash. Try this: (altered to be strict compliant)

$_ = "(KONAMI ORIGINAL) END OF THE CENTURY <BASIC> / NO.9"; my ($source,$title,$mode,$artist) = m|^\(([^\)]*)\) ([^<]*)<([^>]*)> / + (.*)$|; print ">$source< >$title< >$mode< >$artist<\n";
Also, i recommend using \s with a * or a + instead of literal spaces in your regex.

jeffa