That's exactly what I need! But still Ruby-based solution would be
appreciated.
Testing for performance.
Sorry. It just sounded kind of fishy to ask for a million random email
addresses. If you don't need actual random email addresses, just
random strings that approximate email addresses, it pretty easy. Let's
say an average email address is 10-20 characters, and an average name
is 20-30...
$data = {}
$abc = ("A".."Z").to_a + ("a".."z").to_a
$host = ["@foo", "@bar", "@baz", "@dolor", "@lorem", "@ipsum"]
$tld = [".com", ".org", ".net", ".us", ".tl"]
def email
handle = []
rand(25).times {
handle << $abc[rand($abc.length)]
}
host = $host[rand($host.length)]
tld = $tld[rand($tld.length)]
"%s%s%s" % [handle.join(""), host, tld]
end
def name
first = []
rand(15).times {
first << $abc[rand($abc.length)]
}
middle = []
rand(11).times {
middle << $abc[rand($abc.length)]
}
last = []
rand(21).times {
last << $abc[rand($abc.length)]
}
"%s %s %s" % [first.join(""),
middle.join(""),
last.join("")]
end
csv = File.open("email_name.csv", "w")
1000000.times {
csv.write("%s,%s\n" % [email, name])
}
csv.close
Takes about 3 minutes to run on my box and generates a ~50 meg CSV
file.
HTH,
Jordan