in reply to Question about split
read perldoc -f split about parentheses inside of regexp and the first field
You can get what you whant without a split
($base, $dash, $copy, $ext) = $f =~ /^(\d+|\w+)(-)(\d+)(\.bmp)/; [download]