I want to pass in wildcard file names, and use it to match file names located in different directories. For example, *.txt will match file such as "my.txt", "you.txt", etc. However, I found out ruby intepreter automatically expands "*.txt" command argument to a array of filenames which matches that wildcard in the current directory. For example: C:\working>dir *.txt 05/10/2007 03:24 PM 46,101 config.txt 11/23/2004 11:54 AM 361 tips.txt 2 File(s) 46,462 bytes If you do, C:\working>ruby -e "puts ARGV" *.txt config.txt tips.txt Ruby converts string *.txt into the matching filenames and pass in the expanded array as the new argument. This *nice* trick sometime creates trouble. In my case, I want to use 'ARGV[0]' to match filenames in a different location. But ARGV[0] is not "*.txt" as my expected. It was changed by ruby. In fact, it is "config.txt" in this case. One way to correct it is to always ask user to use single-quoted string: C:\working>ruby -e "puts ARGV" '*.txt' *.txt -- Posted via http://www.ruby-forum.com/.