File manager - Edit - /usr/local/cpanel/3rdparty/perl/542/cpanel-lib/String/PerlQuote.pm
Back
package String::PerlQuote; our $DATE = '2016-10-07'; # DATE our $VERSION = '0.02'; # VERSION use 5.010001; use strict; use warnings; use Exporter; our @ISA = qw(Exporter); our @EXPORT_OK = qw( single_quote double_quote ); # BEGIN COPY PASTE FROM Data::Dump my %esc = ( "\a" => "\\a", "\b" => "\\b", "\t" => "\\t", "\n" => "\\n", "\f" => "\\f", "\r" => "\\r", "\e" => "\\e", ); # put a string value in double quotes sub double_quote { local($_) = $_[0]; # If there are many '"' we might want to use qq() instead s/([\\\"\@\$])/\\$1/g; return qq("$_") unless /[^\040-\176]/; # fast exit s/([\a\b\t\n\f\r\e])/$esc{$1}/g; # no need for 3 digits in escape for these s/([\0-\037])(?!\d)/sprintf('\\%o',ord($1))/eg; s/([\0-\037\177-\377])/sprintf('\\x%02X',ord($1))/eg; s/([^\040-\176])/sprintf('\\x{%X}',ord($1))/eg; return qq("$_"); } # END COPY PASTE FROM Data::Dump sub single_quote { local($_) = $_[0]; s/([\\'])/\\$1/g; return qq('$_'); } 1; # ABSTRACT: Quote a string as Perl does __END__ =pod =encoding UTF-8 =head1 NAME String::PerlQuote - Quote a string as Perl does =head1 VERSION This document describes version 0.02 of String::PerlQuote (from Perl distribution String-PerlQuote), released on 2016-10-07. =head1 FUNCTIONS =head2 double_quote($str) => STR Quote or encode C<$str> to the Perl double quote (C<">) literal representation of the string. Example: say double_quote("a"); # => "a" (with the quotes) say double_quote("a\n"); # => "a\n" say double_quote('"'); # => "\"" say double_quote('$foo'); # => "\$foo" This code is taken from C<quote()> in L<Data::Dump>. Maybe I didn't look more closely, but I couldn't a module that provides a function to do something like this. L<String::Escape>, for example, provides C<qqbackslash> but it does not escape C<$>. =head2 single_quote($str) => STR Like C<double_quote> but will produce a Perl single quote literal representation instead of the double quote ones. In single quotes, only literal backslash C<\> and single quote character C<'> are escaped, the rest are displayed as-is, so the result might span multiple lines or contain other non-printable characters. say single_quote("Mom's"); # => 'Mom\'s' (with the quotes) say single_quote("a\\"); # => 'a\\" say single_quote('"'); # => '"' say single_quote("\$foo"); # => '$foo' =head1 HOMEPAGE Please visit the project's homepage at L<https://metacpan.org/release/String-PerlQuote>. =head1 SOURCE Source repository is at L<https://github.com/perlancar/perl-String-PerlQuote>. =head1 BUGS Please report any bugs or feature requests on the bugtracker website L<https://rt.cpan.org/Public/Dist/Display.html?Name=String-PerlQuote> When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature. =head1 AUTHOR perlancar <perlancar@cpan.org> =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2016 by perlancar@cpan.org. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.04 |
proxy
|
phpinfo
|
Settings