From: lubos Date: 2006-03-27T02:43:54+09:00 Subject: Re: String to array as command line I have found the problem: the correct version is : def command_line string Marshal::load(IO::popen("ruby -r yaml -e' print Marshal::dump(ARGV) ' -- #{ string }"){|io| io.read}) end the problem was that I put the "-v" parameter in the string and it was used by ruby itself and thus destroyed the marshaled stream... the added "--" parametr avoid this behavior. Thanks, this is exactly what I was looking for..