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