I had the need for the perror thing in the past, but could not make it happen. C:\ruby180\>.\ruby -ve "system('qw'); p $?.methods;" ruby 1.8.0 (2002-12-24) [i386-mswin32] ["exited?", "to_int", "stopped?", "==", "exitstatus", "stopsig", "inspect", ">>", "&", "coredump?", "signaled?", "pid", "to_s", "to_i", "termsig", "freeze", "nil?", "class", "methods", "method", "instance_variables", "is_a?", "object_id", "=~", "__send__", "copy_object", "instance_eval", "extend", "instance_of?", "id", "protected_methods", "equal?", "tainted?", "clone", "public_methods", "untaint", "respond_to?", "type", "frozen?", "taint", "kind_of?", "__id__", "private_methods", "eql?", "to_a", "display", "dup", "send", "hash", "singleton_methods", "==="] I hope any steps to improve this situation is cross-platform. Don't forget us poor Windows programmers. TIA, -- shanko "ts" <decoux / moulon.inra.fr> wrote in message news:200303161452.h2GEqFE11740 / moulon.inra.fr... > >>>>> "B" == Brian Candler <B.Candler / pobox.com> writes: > > B> It would be great to have: > B> p $?.exited? -- true > B> p $?.exitstatus -- 127 > > pigeon% ruby -ve 'system("qw"); p $?.methods' > ruby 1.8.0 (2003-03-09) [i686-linux] > ["stopsig", "==", "coredump?", "to_i", "signaled?", ">>", "termsig", > "inspect", "&", "to_int", "exited?", "pid", "to_s", "stopped?", > "exitstatus", "freeze", "nil?", "is_a?", "class", "instance_variable_set", > "methods", "extend", "__send__", "instance_eval", "instance_variables", > "=~", "instance_of?", "object_id", "copy_object", "id", > "protected_methods", "equal?", "respond_to?", "tainted?", "clone", > "public_methods", "untaint", "method", "type", "instance_variable_get", > "kind_of?", "frozen?", "taint", "send", "__id__", "private_methods", > "eql?", "to_a", "dup", "===", "display", "hash", "singleton_methods"] > pigeon% > > > > Guy Decoux >