m=%w'.- -... -.-. -.. . ..-. --. .... .. .--- -.- .-.. -- -. --- .--. --.- .-. ... - ..- ...- .-- -..- -.-- --.. --..-- .-.-.-' $>.<<gets.gsub(/[-.]+/){(?a+m.index($&)).chr}.gsub("/","").tr"{|",",."
Note that non-ascii characters in the above source code will be escaped (such as \x9f).