Perl Diver 2.33
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

String::ShellQuote

Name String::ShellQuote
Version 1.04
Located at /usr/share/perl5
File /usr/share/perl5/String/ShellQuote.pm
Is Core No
Search CPAN for this module String::ShellQuote
Documentation String::ShellQuote
Module Details String::ShellQuote

NAME

String::ShellQuote - quote strings for passing through the shell


SYNOPSIS

    $string = shell_quote @list;
    $string = shell_quote_best_effort @list;
    $string = shell_comment_quote $string;


DESCRIPTION

This module contains some functions which are useful for quoting strings which are going to pass through the shell or a shell-like object.

shell_quote [string]...
shell_quote quotes strings so they can be passed through the shell. Each string is quoted so that the shell will pass it along as a single argument and without further interpretation. If no strings are given an empty string is returned.

If any string can't be safely quoted shell_quote will croak.

shell_quote_best_effort [string]...
This is like shell_quote, excpet if the string can't be safely quoted it does the best it can and returns the result, instead of dying.

shell_comment_quote [string]
shell_comment_quote quotes the string so that it can safely be included in a shell-style comment (the current algorithm is that a sharp character is placed after any newlines in the string).

This routine might be changed to accept multiple string arguments in the future. I haven't done this yet because I'm not sure if the strings should be joined with blanks ($``) or nothing ($,). Cast your vote today! Be sure to justify your answer.


EXAMPLES

    $cmd = 'fuser 2>/dev/null ' . shell_quote @files;
    @pids = split ' ', `$cmd`;
    print CFG "# Configured by: ",
                shell_comment_quote($ENV{LOGNAME}), "\n";


BUGS

Only Bourne shell quoting is supported. I'd like to add other shells (particularly cmd.exe), but I'm not familiar with them. It would be a big help if somebody supplied the details.


AUTHOR

Roderick Schertler <roderick@argon.org>


SEE ALSO

perl(1).

Perl Diver brought to you by ScriptSolutions.com © 1997- 2026