use File::Find;
find (\&wanted, $DIRECTORY);
sub wanted {
# this subroutine gets called once for each file
# Inside this subroutine, $_ is set to the
# name of the current file and the current
# directory is the directory where that file
# is stored
}

i tried your code and it wouldn't work for me. first the function is Recurse and not recurse. the arguments to the function are a reference to an array of directories and a reference to a hash of options.