On 17.01.2007 14:56, Adrian Roskrow wrote: > I need to read from a usb connected barcode reader and I thought ruby > would be a good way to do it. I have written a quick program to read > from the $stdin object but it just sits there and waits. Im very new to > ruby so I have probably made a fundamental mistake. Can anyone see what > I have done, or can anyone point me in the right direction or provide an > example? Do you actually redirect stdin to read from that device? > Below is a simple bit of code > > #!/usr/bin/env ruby > text = $stdin.read > lines = text.split("\n") > i = 1 > for line in lines do > puts "#{i}. " + line > i += 1 > end I'd rather do $stdin.each do |line| printf "%4d %s", $stdin.lineno, line end or $stdin.each_with_index do |line, index| printf "%4d %s", index, line end HTH Kind regards robert