I see your point - and I concur that using a database was the better choice in this case (
locate operates much in the same way, f.ex). Though I'd still use
File::Find or at least
find instead to scan the filesystem - the pertinent file information can more robustly be retrieved by (
lstat|
stat)ing the files yourself rather than parsing
ls' output. In general, the less parsing you do, the better.
Makeshifts last the longest.