"Hal E. Fulton" wrote: > strings.each_with_index do |s,i| > strings[i] = "pre." + s if s[0] != ?a > end > > The above works, but seems ugly. strings.select { |s| s[0]!=?a }.each { |s| s[/^/] = "pre." } Of course, this destructively modifies the strings, which your code doesn't do... So this suggestion isn't really about iterators, but about a way to do << at the beginning of a string. -- Joel VanderWerf California PATH, UC Berkeley mailto:vjoel / path.berkeley.edu Ph. (510) 231-9446 http://www.path.berkeley.edu FAX (510) 231-9512