-d $file tests if there is a directory called $file inside the current director. So you need to prepend the directory, or chdir to the directory you are reading.
Perl 6 - links to (nearly) everything that is Perl 6.
Comment on Re: readdir and recognizing difference between files and directories