NAME

   Syntax::Keyword::RawQuote - A raw quote operator for Perl

SYNOPSIS

       use Syntax::Keyword::RawQuote;
       say r`I keep all of my files in \\yourserver\private`;

       use Syntax::Keyword::RawQuote -as => "qraw";
       say qraw[Maybe the `r` keyword is too risky?];

DESCRIPTION

   This library provides an absolutely uninterpreted (raw) quote operator
   for Perl, as seen in some other programming languages. While Perl
   single-quoted strings are nearly uninterpreted, they still treat the
   sequences \' and \\ specially, allowing a single quote to be included
   in the string. The q operator behaves similarly, allowing the closing
   delimiter to be backslashed, and treating \\ as a single backslash. By
   contrast, a raw string treats every character literally, and ends at
   the first occurrence of the closing delimiter, no matter what.

WARNING

   This is beta software that mucks about with the perl internals. Do not
   use it for anything too important.

SYNTAX

   By default, the raw quote operator will be installed as r in the
   lexical scope where this module is imported. If that name is
   inconvenient, you can choose another one by providing the -as option in
   the use statement.

   The operator behaves like other quote-like operators (see "Quote and
   Quote-like Operators" in perlop). The first non-whitespace character
   after the operator is taken as the opening delimiter. If the opening
   delimiter is one of the ASCII left bracket characters (one of ( [ < {),
   then the closing delimiter is the matching right bracket (from ) ] >
   }), otherwise it is the same as the opening delimiter. This choice of
   delimiters allows you to choose a character that won't appear inside
   the string.

   Since editors' syntax highlighting features will probably not recognize
   the existence of this module, you may want to use an existing quote
   character to avoid confusing them. r"" and r'' are obvious choices, but
   r`` (similar to Go) has the advantage that backticks hardly ever occur
   inside of quoted strings, and it is visually distinct.

METHODS

import

   Enables the raw quote keyword in the current lexical scope when called
   during compilation (use Syntax::Keyword::RawQuote). If the -as keyword
   argument is provided, it will be used as the keyword name, otherwise
   "r" is used.

unimport

   Disables the raw quote keyword in the current lexical scope when called
   during compilation (no Syntax::Keyword::RawQuote). If the -as keyword
   is provided, disables that keyword specifically; otherwise, all
   keywords installed will be disabled.

syntax.pm SUPPORT

   A module Syntax::Feature::RawQuote is also provided, if you prefer the
   form use syntax 'raw_quote'. Provides all of the same features and
   options, except that it is not possible to no syntax raw_quote => { -as
   => 'foo' }.

AUTHOR

   Andrew Rodland <[email protected]>

LICENSE

   Copyright (c) Andrew Rodland.

   This library is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.