I've got a bit of an odd situation. If I were using a hash, this issue would be easy, however, I'm trying to use "OpenStruct" in Ruby as it provides some decently cool features.
Basically, I think I need to "constantize" a return value. I've got a regular expression:
textopts = OpenStruct.new() textopts.recipients = [] fileparts = fhandle.read.split("<<-->>") fileparts[0].chomp.each{|l| if l =~ /Recipient.*/i textopts.recipients << $& elsif l =~ /(ServerAddress.*|EmailAddress.*)/i textopts.$& = $&.split(":")[1] end } I need a way to turn the $& for "textopts" into a valid property for filling. I've tried "constantize" and some others, but nothing works. I would assume this is possible, but perhaps I'm wrong. Obviously if I were using a hash I could just do "textopts[$&] = .....".
Any ideas?