> So, as I see it, the "sub" method is looking for the first "t" in the > string. Almost, it looks for the first t and all "word"-characters after the t. >The hash says that it will replace [0, 1] elements of the string > following the "t" ("w" and "o" respectively) with "$1", which has not > been defined, meaning it will take these letters out of the string. The thing in curly braces is a block, not a hash. The $1 is a varaible which contains the first group of the last regexp match (in this example $1="two"). So the block sasy replace the word "two" with the first letter of the word.