File::Util::list_dir() is now a higher-order function.  It supports callbacks, which is what also made the new supportin _as_tree() method possible, for getting list_dir() to return a hierarchal data structure representing the file tree it is called to list
this listdir_callbacks.pl script in the misc/ subdir demonstrates the "as_tree" option to list_dir