This chapter is a catch-all for Ruby programming topics that have not been discussed elsewhere. Most of the features covered here have to do with the interface between Ruby and the operating system on which it is running. As such, some of these features are OS-dependent. Similarly, many of the features may be implementation dependent: not every Ruby interpreter will implement them in the same way. Topics covered include:
The Ruby interpreter’s command-line arguments and environment variables.
The top-level execution environment: global functions, variables, and constants.
Shortcuts for text processing scripts: global functions, variables, and interpreter options, usually inspired by the Perl programming language, that make it possible to write short but powerful Ruby programs for processing text files.
OS commands: running shell commands and invoking executables in the underlying operating system. These are features that allow Ruby to be used as a scripting or “glue” language.
Security: how to reduce the risk of SQL injection and similar
attacks with Ruby’s tainting mechanism, and how to “sandbox” untrusted
Ruby code with
$SAFE execution levels.