def which(prog, path=ENV['PATH'])
path.split(File::PATH_SEPARATOR).each {|dir|
if File::ALT_SEPARATOR
ext = Win32Exts.find{|ext|
if prog.include?('.')
f = File.join(dir,prog)
else
f = File.join(dir,prog+ext)
end
File.executable?(f) && !File.directory?(f)
}
if ext
if prog.include?('.')
f = File.join( dir, prog ).gsub(/\//,'\\')
else
f = File.join( dir, prog + ext ).gsub(/\//,'\\')
end
return f
end
else
f = File.join(dir,prog)
if File.executable?(f) && !File.directory?(f)
return File::join( dir, prog )
end
end
}
nil
end