Analyzer for randomly generated names
The ruby style guide suggests to use 2 spaces per indentation level.
You can use heredocs for multi-line strings, keep in mind that they preserve white space, here is a nice trick that could be used:

help = &lt;&lt;-END.gsub(/^\s+\|/, '')
  |Should be used in the form:,
  |&lt;invocation of name_gen.rb&gt; | &lt;ruby&gt; name_gen_test.rb -d&lt;delimiter&gt;,
  |The delimiter MUST be specified in name_gen.rb and it MUST NOT be ``.
          END
help.each_line { |line| puts line }

for multiline blocks please use do...end instead of {...}:

individual_syllables.each_with_index do |from, index|
start[from] += 1 if index == 0
connections[from][individual_syllables[index + 1] || !!false] += 
end

I don't understand why you use !!false, since !!false == false. Also I don't think it is needed here.
Do not put a space between a method name and the opening parenthesis:

max_len = start.keys.inject (0)

Avoid nested ternary operators, it makes the code hard to understand.

((cur ? cur : '').length &gt; memo) ? cur.length : memo
# becomes
cur ||= ''
[cur.length, memo].max