Вам нужно передать отрицательное значение в качестве второго параметра в split. Это предотвращает подавление конечных нулевых полей:
split
"w$x$$\r\n".chomp.split('$', -1) # => ["w", "x", "", ""]
См. документы в split .