A Lua gotcha: gmatch doesn't support '^'. I don't know why I was doing that weird single-iteration loop anyway.
WMGFKNUW6PQAX5LOZTPY7SHP32L7ZCRFO6THECWEJOLDKELKGC3AC
MFBZCXOUHS7ELP3SRTA7VDO32CUSRDIX44LXSMBPIAE5JXKFWXOQC
GMDEH4RHOR6DJABQ5WVGY4GVUU3QPWFTPFUHYUOULTVJZA2FTPAQC
for numeric_prefix, root in filename:gmatch('(%d+)-(.+)') do -- only runs once
for numeric_prefix, root in filename:gmatch('(%d+)-(.+)') do
-- only runs once
local numeric_prefix, root = filename:match('^(%d+)-(.+)') if numeric_prefix then
local numeric_prefix, root = filename:match('^(%d+)-(.+)')
if numeric_prefix then