A Lua gotcha: gmatch doesn't support '^'. I don't know why I was doing that weird single-iteration loop anyway.
KKDO773SJHBHGTECUKGCCXADZ3C4LIPSDLDIHUAZRMJT35YNWZ4AC
QFFTXR7EODYP3OPAO5ZJ4UDLKPBYBU2ESWHP3ABH3BEBYBIONCWAC
TNRO6KLZXIZUFWKCXSWAJHN2CMHS56ATGGULOKMJC2YNCFRJZKLAC
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