summaryrefslogtreecommitdiffstats
path: root/upstream/fedora-40/man1/perlreref.1
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/fedora-40/man1/perlreref.1
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/fedora-40/man1/perlreref.1')
-rw-r--r--upstream/fedora-40/man1/perlreref.1476
1 files changed, 476 insertions, 0 deletions
diff --git a/upstream/fedora-40/man1/perlreref.1 b/upstream/fedora-40/man1/perlreref.1
new file mode 100644
index 00000000..fd790fde
--- /dev/null
+++ b/upstream/fedora-40/man1/perlreref.1
@@ -0,0 +1,476 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "PERLREREF 1"
+.TH PERLREREF 1 2024-01-25 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+perlreref \- Perl Regular Expressions Reference
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+This is a quick reference to Perl's regular expressions.
+For full information see perlre and perlop, as well
+as the "SEE ALSO" section in this document.
+.SS OPERATORS
+.IX Subsection "OPERATORS"
+\&\f(CW\*(C`=~\*(C'\fR determines to which variable the regex is applied.
+In its absence, \f(CW$_\fR is used.
+.PP
+.Vb 1
+\& $var =~ /foo/;
+.Ve
+.PP
+\&\f(CW\*(C`!~\*(C'\fR determines to which variable the regex is applied,
+and negates the result of the match; it returns
+false if the match succeeds, and true if it fails.
+.PP
+.Vb 1
+\& $var !~ /foo/;
+.Ve
+.PP
+\&\f(CW\*(C`m/pattern/msixpogcdualn\*(C'\fR searches a string for a pattern match,
+applying the given options.
+.PP
+.Vb 10
+\& m Multiline mode \- ^ and $ match internal lines
+\& s match as a Single line \- . matches \en
+\& i case\-Insensitive
+\& x eXtended legibility \- free whitespace and comments
+\& p Preserve a copy of the matched string \-
+\& ${^PREMATCH}, ${^MATCH}, ${^POSTMATCH} will be defined.
+\& o compile pattern Once
+\& g Global \- all occurrences
+\& c don\*(Aqt reset pos on failed matches when using /g
+\& a restrict \ed, \es, \ew and [:posix:] to match ASCII only
+\& aa (two a\*(Aqs) also /i matches exclude ASCII/non\-ASCII
+\& l match according to current locale
+\& u match according to Unicode rules
+\& d match according to native rules unless something indicates
+\& Unicode
+\& n Non\-capture mode. Don\*(Aqt let () fill in $1, $2, etc...
+.Ve
+.PP
+If 'pattern' is an empty string, the last \fIsuccessfully\fR matched
+regex is used. Delimiters other than '/' may be used for both this
+operator and the following ones. The leading \f(CW\*(C`m\*(C'\fR can be omitted
+if the delimiter is '/'.
+.PP
+\&\f(CW\*(C`qr/pattern/msixpodualn\*(C'\fR lets you store a regex in a variable,
+or pass one around. Modifiers as for \f(CW\*(C`m//\*(C'\fR, and are stored
+within the regex.
+.PP
+\&\f(CW\*(C`s/pattern/replacement/msixpogcedual\*(C'\fR substitutes matches of
+\&'pattern' with 'replacement'. Modifiers as for \f(CW\*(C`m//\*(C'\fR,
+with two additions:
+.PP
+.Vb 2
+\& e Evaluate \*(Aqreplacement\*(Aq as an expression
+\& r Return substitution and leave the original string untouched.
+.Ve
+.PP
+\&'e' may be specified multiple times. 'replacement' is interpreted
+as a double quoted string unless a single-quote (\f(CW\*(C`\*(Aq\*(C'\fR) is the delimiter.
+.PP
+\&\f(CW\*(C`m?pattern?\*(C'\fR is like \f(CW\*(C`m/pattern/\*(C'\fR but matches only once. No alternate
+delimiters can be used. Must be reset with \fBreset()\fR.
+.SS SYNTAX
+.IX Subsection "SYNTAX"
+.Vb 10
+\& \e Escapes the character immediately following it
+\& . Matches any single character except a newline (unless /s is
+\& used)
+\& ^ Matches at the beginning of the string (or line, if /m is used)
+\& $ Matches at the end of the string (or line, if /m is used)
+\& * Matches the preceding element 0 or more times
+\& + Matches the preceding element 1 or more times
+\& ? Matches the preceding element 0 or 1 times
+\& {...} Specifies a range of occurrences for the element preceding it
+\& [...] Matches any one of the characters contained within the brackets
+\& (...) Groups subexpressions for capturing to $1, $2...
+\& (?:...) Groups subexpressions without capturing (cluster)
+\& | Matches either the subexpression preceding or following it
+\& \eg1 or \eg{1}, \eg2 ... Matches the text from the Nth group
+\& \e1, \e2, \e3 ... Matches the text from the Nth group
+\& \eg\-1 or \eg{\-1}, \eg\-2 ... Matches the text from the Nth previous group
+\& \eg{name} Named backreference
+\& \ek<name> Named backreference
+\& \ek\*(Aqname\*(Aq Named backreference
+\& (?P=name) Named backreference (python syntax)
+.Ve
+.SS "ESCAPE SEQUENCES"
+.IX Subsection "ESCAPE SEQUENCES"
+These work as in normal strings.
+.PP
+.Vb 10
+\& \ea Alarm (beep)
+\& \ee Escape
+\& \ef Formfeed
+\& \en Newline
+\& \er Carriage return
+\& \et Tab
+\& \e037 Char whose ordinal is the 3 octal digits, max \e777
+\& \eo{2307} Char whose ordinal is the octal number, unrestricted
+\& \ex7f Char whose ordinal is the 2 hex digits, max \exFF
+\& \ex{263a} Char whose ordinal is the hex number, unrestricted
+\& \ecx Control\-x
+\& \eN{name} A named Unicode character or character sequence
+\& \eN{U+263D} A Unicode character by hex ordinal
+\&
+\& \el Lowercase next character
+\& \eu Titlecase next character
+\& \eL Lowercase until \eE
+\& \eU Uppercase until \eE
+\& \eF Foldcase until \eE
+\& \eQ Disable pattern metacharacters until \eE
+\& \eE End modification
+.Ve
+.PP
+For Titlecase, see "Titlecase".
+.PP
+This one works differently from normal strings:
+.PP
+.Vb 1
+\& \eb An assertion, not backspace, except in a character class
+.Ve
+.SS "CHARACTER CLASSES"
+.IX Subsection "CHARACTER CLASSES"
+.Vb 4
+\& [amy] Match \*(Aqa\*(Aq, \*(Aqm\*(Aq or \*(Aqy\*(Aq
+\& [f\-j] Dash specifies "range"
+\& [f\-j\-] Dash escaped or at start or end means \*(Aqdash\*(Aq
+\& [^f\-j] Caret indicates "match any character _except_ these"
+.Ve
+.PP
+The following sequences (except \f(CW\*(C`\eN\*(C'\fR) work within or without a character class.
+The first six are locale aware, all are Unicode aware. See perllocale
+and perlunicode for details.
+.PP
+.Vb 10
+\& \ed A digit
+\& \eD A nondigit
+\& \ew A word character
+\& \eW A non\-word character
+\& \es A whitespace character
+\& \eS A non\-whitespace character
+\& \eh A horizontal whitespace
+\& \eH A non horizontal whitespace
+\& \eN A non newline (when not followed by \*(Aq{NAME}\*(Aq;;
+\& not valid in a character class; equivalent to [^\en]; it\*(Aqs
+\& like \*(Aq.\*(Aq without /s modifier)
+\& \ev A vertical whitespace
+\& \eV A non vertical whitespace
+\& \eR A generic newline (?>\ev|\ex0D\ex0A)
+\&
+\& \epP Match P\-named (Unicode) property
+\& \ep{...} Match Unicode property with name longer than 1 character
+\& \ePP Match non\-P
+\& \eP{...} Match lack of Unicode property with name longer than 1 char
+\& \eX Match Unicode extended grapheme cluster
+.Ve
+.PP
+POSIX character classes and their Unicode and Perl equivalents:
+.PP
+.Vb 3
+\& ASCII\- Full\-
+\& POSIX range range backslash
+\& [[:...:]] \ep{...} \ep{...} sequence Description
+\&
+\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+\& alnum PosixAlnum XPosixAlnum \*(Aqalpha\*(Aq plus \*(Aqdigit\*(Aq
+\& alpha PosixAlpha XPosixAlpha Alphabetic characters
+\& ascii ASCII Any ASCII character
+\& blank PosixBlank XPosixBlank \eh Horizontal whitespace;
+\& full\-range also
+\& written as
+\& \ep{HorizSpace} (GNU
+\& extension)
+\& cntrl PosixCntrl XPosixCntrl Control characters
+\& digit PosixDigit XPosixDigit \ed Decimal digits
+\& graph PosixGraph XPosixGraph \*(Aqalnum\*(Aq plus \*(Aqpunct\*(Aq
+\& lower PosixLower XPosixLower Lowercase characters
+\& print PosixPrint XPosixPrint \*(Aqgraph\*(Aq plus \*(Aqspace\*(Aq,
+\& but not any Controls
+\& punct PosixPunct XPosixPunct Punctuation and Symbols
+\& in ASCII\-range; just
+\& punct outside it
+\& space PosixSpace XPosixSpace \es Whitespace
+\& upper PosixUpper XPosixUpper Uppercase characters
+\& word PosixWord XPosixWord \ew \*(Aqalnum\*(Aq + Unicode marks
+\& + connectors, like
+\& \*(Aq_\*(Aq (Perl extension)
+\& xdigit ASCII_Hex_Digit XPosixDigit Hexadecimal digit,
+\& ASCII\-range is
+\& [0\-9A\-Fa\-f]
+.Ve
+.PP
+Also, various synonyms like \f(CW\*(C`\ep{Alpha}\*(C'\fR for \f(CW\*(C`\ep{XPosixAlpha}\*(C'\fR; all listed
+in "Properties accessible through \ep{} and \eP{}" in perluniprops
+.PP
+Within a character class:
+.PP
+.Vb 3
+\& POSIX traditional Unicode
+\& [:digit:] \ed \ep{Digit}
+\& [:^digit:] \eD \eP{Digit}
+.Ve
+.SS ANCHORS
+.IX Subsection "ANCHORS"
+All are zero-width assertions.
+.PP
+.Vb 11
+\& ^ Match string start (or line, if /m is used)
+\& $ Match string end (or line, if /m is used) or before newline
+\& \eb{} Match boundary of type specified within the braces
+\& \eB{} Match wherever \eb{} doesn\*(Aqt match
+\& \eb Match word boundary (between \ew and \eW)
+\& \eB Match except at word boundary (between \ew and \ew or \eW and \eW)
+\& \eA Match string start (regardless of /m)
+\& \eZ Match string end (before optional newline)
+\& \ez Match absolute string end
+\& \eG Match where previous m//g left off
+\& \eK Keep the stuff left of the \eK, don\*(Aqt include it in $&
+.Ve
+.SS QUANTIFIERS
+.IX Subsection "QUANTIFIERS"
+Quantifiers are greedy by default and match the \fBlongest\fR leftmost.
+.PP
+.Vb 10
+\& Maximal Minimal Possessive Allowed range
+\& \-\-\-\-\-\-\- \-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-
+\& {n,m} {n,m}? {n,m}+ Must occur at least n times
+\& but no more than m times
+\& {n,} {n,}? {n,}+ Must occur at least n times
+\& {,n} {,n}? {,n}+ Must occur at most n times
+\& {n} {n}? {n}+ Must occur exactly n times
+\& * *? *+ 0 or more times (same as {0,})
+\& + +? ++ 1 or more times (same as {1,})
+\& ? ?? ?+ 0 or 1 time (same as {0,1})
+.Ve
+.PP
+The possessive forms (new in Perl 5.10) prevent backtracking: what gets
+matched by a pattern with a possessive quantifier will not be backtracked
+into, even if that causes the whole match to fail.
+.SS "EXTENDED CONSTRUCTS"
+.IX Subsection "EXTENDED CONSTRUCTS"
+.Vb 10
+\& (?#text) A comment
+\& (?:...) Groups subexpressions without capturing (cluster)
+\& (?pimsx\-imsx:...) Enable/disable option (as per m// modifiers)
+\& (?=...) Zero\-width positive lookahead assertion
+\& (*pla:...) Same, starting in 5.32; experimentally in 5.28
+\& (*positive_lookahead:...) Same, same versions as *pla
+\& (?!...) Zero\-width negative lookahead assertion
+\& (*nla:...) Same, starting in 5.32; experimentally in 5.28
+\& (*negative_lookahead:...) Same, same versions as *nla
+\& (?<=...) Zero\-width positive lookbehind assertion
+\& (*plb:...) Same, starting in 5.32; experimentally in 5.28
+\& (*positive_lookbehind:...) Same, same versions as *plb
+\& (?<!...) Zero\-width negative lookbehind assertion
+\& (*nlb:...) Same, starting in 5.32; experimentally in 5.28
+\& (*negative_lookbehind:...) Same, same versions as *plb
+\& (?>...) Grab what we can, prohibit backtracking
+\& (*atomic:...) Same, starting in 5.32; experimentally in 5.28
+\& (?|...) Branch reset
+\& (?<name>...) Named capture
+\& (?\*(Aqname\*(Aq...) Named capture
+\& (?P<name>...) Named capture (python syntax)
+\& (?[...]) Extended bracketed character class
+\& (?{ code }) Embedded code, return value becomes $^R
+\& (??{ code }) Dynamic regex, return value used as regex
+\& (?N) Recurse into subpattern number N
+\& (?\-N), (?+N) Recurse into Nth previous/next subpattern
+\& (?R), (?0) Recurse at the beginning of the whole pattern
+\& (?&name) Recurse into a named subpattern
+\& (?P>name) Recurse into a named subpattern (python syntax)
+\& (?(cond)yes|no)
+\& (?(cond)yes) Conditional expression, where "(cond)" can be:
+\& (?=pat) lookahead; also (*pla:pat)
+\& (*positive_lookahead:pat)
+\& (?!pat) negative lookahead; also (*nla:pat)
+\& (*negative_lookahead:pat)
+\& (?<=pat) lookbehind; also (*plb:pat)
+\& (*lookbehind:pat)
+\& (?<!pat) negative lookbehind; also (*nlb:pat)
+\& (*negative_lookbehind:pat)
+\& (N) subpattern N has matched something
+\& (<name>) named subpattern has matched something
+\& (\*(Aqname\*(Aq) named subpattern has matched something
+\& (?{code}) code condition
+\& (R) true if recursing
+\& (RN) true if recursing into Nth subpattern
+\& (R&name) true if recursing into named subpattern
+\& (DEFINE) always false, no no\-pattern allowed
+.Ve
+.SS VARIABLES
+.IX Subsection "VARIABLES"
+.Vb 1
+\& $_ Default variable for operators to use
+\&
+\& $\` Everything prior to matched string
+\& $& Entire matched string
+\& $\*(Aq Everything after to matched string
+\&
+\& ${^PREMATCH} Everything prior to matched string
+\& ${^MATCH} Entire matched string
+\& ${^POSTMATCH} Everything after to matched string
+.Ve
+.PP
+Note to those still using Perl 5.18 or earlier:
+The use of \f(CW\*(C`$\`\*(C'\fR, \f(CW$&\fR or \f(CW\*(C`$\*(Aq\*(C'\fR will slow down \fBall\fR regex use
+within your program. Consult perlvar for \f(CW\*(C`@\-\*(C'\fR
+to see equivalent expressions that won't cause slow down.
+See also Devel::SawAmpersand. Starting with Perl 5.10, you
+can also use the equivalent variables \f(CW\*(C`${^PREMATCH}\*(C'\fR, \f(CW\*(C`${^MATCH}\*(C'\fR
+and \f(CW\*(C`${^POSTMATCH}\*(C'\fR, but for them to be defined, you have to
+specify the \f(CW\*(C`/p\*(C'\fR (preserve) modifier on your regular expression.
+In Perl 5.20, the use of \f(CW\*(C`$\`\*(C'\fR, \f(CW$&\fR and \f(CW\*(C`$\*(Aq\*(C'\fR makes no speed difference.
+.PP
+.Vb 8
+\& $1, $2 ... hold the Xth captured expr
+\& $+ Last parenthesized pattern match
+\& $^N Holds the most recently closed capture
+\& $^R Holds the result of the last (?{...}) expr
+\& @\- Offsets of starts of groups. $\-[0] holds start of whole match
+\& @+ Offsets of ends of groups. $+[0] holds end of whole match
+\& %+ Named capture groups
+\& %\- Named capture groups, as array refs
+.Ve
+.PP
+Captured groups are numbered according to their \fIopening\fR paren.
+.SS FUNCTIONS
+.IX Subsection "FUNCTIONS"
+.Vb 5
+\& lc Lowercase a string
+\& lcfirst Lowercase first char of a string
+\& uc Uppercase a string
+\& ucfirst Titlecase first char of a string
+\& fc Foldcase a string
+\&
+\& pos Return or set current match position
+\& quotemeta Quote metacharacters
+\& reset Reset m?pattern? status
+\& study Analyze string for optimizing matching
+\&
+\& split Use a regex to split a string into parts
+.Ve
+.PP
+The first five of these are like the escape sequences \f(CW\*(C`\eL\*(C'\fR, \f(CW\*(C`\el\*(C'\fR,
+\&\f(CW\*(C`\eU\*(C'\fR, \f(CW\*(C`\eu\*(C'\fR, and \f(CW\*(C`\eF\*(C'\fR. For Titlecase, see "Titlecase"; For
+Foldcase, see "Foldcase".
+.SS TERMINOLOGY
+.IX Subsection "TERMINOLOGY"
+\fITitlecase\fR
+.IX Subsection "Titlecase"
+.PP
+Unicode concept which most often is equal to uppercase, but for
+certain characters like the German "sharp s" there is a difference.
+.PP
+\fIFoldcase\fR
+.IX Subsection "Foldcase"
+.PP
+Unicode form that is useful when comparing strings regardless of case,
+as certain characters have complex one-to-many case mappings. Primarily a
+variant of lowercase.
+.SH AUTHOR
+.IX Header "AUTHOR"
+Iain Truskett. Updated by the Perl 5 Porters.
+.PP
+This document may be distributed under the same terms as Perl itself.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+.IP \(bu 4
+perlretut for a tutorial on regular expressions.
+.IP \(bu 4
+perlrequick for a rapid tutorial.
+.IP \(bu 4
+perlre for more details.
+.IP \(bu 4
+perlvar for details on the variables.
+.IP \(bu 4
+perlop for details on the operators.
+.IP \(bu 4
+perlfunc for details on the functions.
+.IP \(bu 4
+perlfaq6 for FAQs on regular expressions.
+.IP \(bu 4
+perlrebackslash for a reference on backslash sequences.
+.IP \(bu 4
+perlrecharclass for a reference on character classes.
+.IP \(bu 4
+The re module to alter behaviour and aid
+debugging.
+.IP \(bu 4
+"Debugging Regular Expressions" in perldebug
+.IP \(bu 4
+perluniintro, perlunicode, charnames and perllocale
+for details on regexes and internationalisation.
+.IP \(bu 4
+\&\fIMastering Regular Expressions\fR by Jeffrey Friedl
+(<http://oreilly.com/catalog/9780596528126/>) for a thorough grounding and
+reference on the topic.
+.SH THANKS
+.IX Header "THANKS"
+David P.C. Wollmann,
+Richard Soderberg,
+Sean M. Burke,
+Tom Christiansen,
+Jim Cromie,
+and
+Jeffrey Goff
+for useful advice.