#!/usr/local/bin/ruby -Ks require 'md5' def md5sum(str) md5 = MD5.new md5.update(str) md5.hexdigest end def file(name) File.open(name, 'rb') do |f| yield md5sum(f.read) end end if ARGV.length == 0 STDERR.puts 'usage: ruby md5.rb file [more file...]' else ARGV.each do |a| file(a) do |sum| puts "#{sum} #{a}" end end end