Hi, If you see DEFINITION of DIR["**"] and DIR["*"] below it suggests there should be some difference. But if I run the CODE below I find they produce exactly the same output. Is my documentation wrong or what am I doing wrong? What would you think '** Matches subdirectories recursively' means? Cheers, Mike #### CODE #### list = Dir["**"] list.sort! puts(list) list = Dir["*"] list.sort! puts(list) ########## DEFINITION ########## Dir[ aString ] -> anArray Returns anArray of filenames found by expanding the pattern given in aString. Note that this pattern is not a regexp (it's closer to a shell glob) and may contain the following metacharacters: ** Matches subdirectories recursively * Matches zero or more characters ? Matches any single character [ charSet ] Matches any character from the given set of characters. A range of characters is written as charFrom-charTo. The set may be negated with an initial uparrow (^). { opt, opt, ... } Matches any one of the optional strings