Perl and the shell Perl doesn't actually use the shell if it can avoid it. Expands shell globs like '*' and '?'. Sends them explicitly as a list, so 'a ..' is one argument. Doesn't prevent problems where globs expand to unexpected program arguments. Doesn't allow you to specify arguments explicitly.