Tested with: ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-linux] #!/usr/bin/env ruby $VERBOSE = true test_hash=Hash["value" => exit] puts "Never get's executed." exit is executed and stops the application. Is this a wanted behavior? Shouldn't an error be thrown like: NameError: undefined local variable or method `exit' for main:Object This bug can't be abused for luck: userinput='%x[nc -lp 1234 -e /bin/bash]' test_hash=Hash["value" => userinput] Doesn't work because userinputs gets automatically threated like a string. Nevertheless I think this isn't a good behavior or?