On Jul 3, 2007, at 1:36 PM, Jeff Barczewski wrote: > > yes, that's a winner. > > works on win xp > works on gentoo linux > def mac_address return @mac_address if defined? @mac_address re = %r/[^:\-](?:[0-9A-Za-z][0-9A-Za-z][:\-]){5}[0-9A-Za-z] [0-9A-Za-z][^:\-]/o cmds = '/sbin/ifconfig', '/bin/ifconfig', 'ifconfig', 'ipconfig /all' null = test(?e, '/dev/null') ? '/dev/null' : 'NUL' lines = nil cmds.each do |cmd| stdout = IO.popen("#{ cmd } 2> #{ null }"){|fd| fd.readlines} rescue next next unless stdout and stdout.size > 0 lines = stdout and break end raise "all of #{ cmds.join ' ' } failed" unless lines candidates = lines.select{|line| line =~ re} raise 'no mac address candidates' unless candidates.first maddr = candidates.first[re] raise 'no mac address found' unless maddr @mac_address = maddr.strip end -a -- we can deny everything, except that we have the possibility of being better. simply reflect on that. h.h. the 14th dalai lama