Marnen Laibow-Koser wrote: > bwv549 wrote: >> What is the best idiom for generating a cross-platform basename? (...) >> This works on windows and linux, at least the versions I'm running. > > No it doesn't. The problem is that there is no easy way to tell what OS > a pathname came from, and each OS's directory separator is a valid > filename character on the other OS. So you could have a Windows file > called c:\documents\usr/bin/ruby , where usr/bin/ruby is the actual > correct basename. Your method would fail in this case.(...) > No, a / is not a valid filename character. None of these characters are allowed : ><:"/\|?* (http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx#file_and_directory_names ) If you try it anyway you'll get an error. So OP's solution could work. hth, Siep -- Posted via http://www.ruby-forum.com/.