diff options
Diffstat (limited to 'upstream/mageia-cauldron/man1/perlcheat.1')
-rw-r--r-- | upstream/mageia-cauldron/man1/perlcheat.1 | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man1/perlcheat.1 b/upstream/mageia-cauldron/man1/perlcheat.1 new file mode 100644 index 00000000..17b3dca2 --- /dev/null +++ b/upstream/mageia-cauldron/man1/perlcheat.1 @@ -0,0 +1,157 @@ +.\" -*- 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 "PERLCHEAT 1" +.TH PERLCHEAT 1 2023-11-28 "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 +perlcheat \- Perl 5 Cheat Sheet +.SH DESCRIPTION +.IX Header "DESCRIPTION" +This 'cheat sheet' is a handy reference, meant for beginning Perl +programmers. Not everything is mentioned, but 195 features may +already be overwhelming. +.SS "The sheet" +.IX Subsection "The sheet" +.Vb 10 +\& CONTEXTS SIGILS ref ARRAYS HASHES +\& void $scalar SCALAR @array %hash +\& scalar @array ARRAY @array[0, 2] @hash{\*(Aqa\*(Aq, \*(Aqb\*(Aq} +\& list %hash HASH $array[0] $hash{\*(Aqa\*(Aq} +\& &sub CODE +\& *glob GLOB SCALAR VALUES +\& FORMAT number, string, ref, glob, undef +\& REFERENCES +\& \e reference $$foo[1] aka $foo\->[1] +\& $@%&* dereference $$foo{bar} aka $foo\->{bar} +\& [] anon. arrayref ${$$foo[1]}[2] aka $foo\->[1]\->[2] +\& {} anon. hashref ${$$foo[1]}[2] aka $foo\->[1][2] +\& \e() list of refs +\& SYNTAX +\& OPERATOR PRECEDENCE foreach (LIST) { } for (a;b;c) { } +\& \-> while (e) { } until (e) { } +\& ++ \-\- if (e) { } elsif (e) { } else { } +\& ** unless (e) { } elsif (e) { } else { } +\& ! ~ \e u+ u\- given (e) { when (e) {} default {} } +\& =~ !~ +\& * / % x NUMBERS vs STRINGS FALSE vs TRUE +\& + \- . = = undef, "", 0, "0" +\& << >> + . anything else +\& named uops == != eq ne +\& < > <= >= lt gt le ge < > <= >= lt gt le ge +\& == != <=> eq ne cmp ~~ <=> cmp +\& & +\& | ^ REGEX MODIFIERS REGEX METACHARS +\& && /i case insensitive ^ string begin +\& || // /m line based ^$ $ str end (bfr \en) +\& .. ... /s . includes \en + one or more +\& ?: /x /xx ign. wh.space * zero or more +\& = += last goto /p preserve ? zero or one +\& , => /a ASCII /aa safe {3,7} repeat in range +\& list ops /l locale /d dual | alternation +\& not /u Unicode [] character class +\& and /e evaluate /ee rpts \eb boundary +\& or xor /g global \ez string end +\& /o compile pat once () capture +\& DEBUG (?:p) no capture +\& \-MO=Deparse REGEX CHARCLASSES (?#t) comment +\& \-MO=Terse . [^\en] (?=p) ZW pos ahead +\& \-D## \es whitespace (?!p) ZW neg ahead +\& \-d:Trace \ew word chars (?<=p) ZW pos behind \eK +\& \ed digits (?<!p) ZW neg behind +\& CONFIGURATION \epP named property (?>p) no backtrack +\& perl \-V:ivsize \eh horiz.wh.space (?|p|p)branch reset +\& \eR linebreak (?<n>p)named capture +\& \eS \eW \eD \eH negate \eg{n} ref to named cap +\& \eK keep left part +\& FUNCTION RETURN LISTS +\& stat localtime caller SPECIAL VARIABLES +\& 0 dev 0 second 0 package $_ default variable +\& 1 ino 1 minute 1 filename $0 program name +\& 2 mode 2 hour 2 line $/ input separator +\& 3 nlink 3 day 3 subroutine $\e output separator +\& 4 uid 4 month\-1 4 hasargs $| autoflush +\& 5 gid 5 year\-1900 5 wantarray $! sys/libcall error +\& 6 rdev 6 weekday 6 evaltext $@ eval error +\& 7 size 7 yearday 7 is_require $$ process ID +\& 8 atime 8 is_dst 8 hints $. line number +\& 9 mtime 9 bitmask @ARGV command line args +\& 10 ctime 10 hinthash @INC include paths +\& 11 blksz 3..10 only @_ subroutine args +\& 12 blcks with EXPR %ENV environment +.Ve +.SH ACKNOWLEDGEMENTS +.IX Header "ACKNOWLEDGEMENTS" +The first version of this document appeared on Perl Monks, where several +people had useful suggestions. Thank you, Perl Monks. +.PP +A special thanks to Damian Conway, who didn't only suggest important changes, +but also took the time to count the number of listed features and make a +Raku version to show that Perl will stay Perl. +.SH AUTHOR +.IX Header "AUTHOR" +Juerd Waalboer <#####@juerd.nl>, with the help of many Perl Monks. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +.IP \(bu 4 +<https://perlmonks.org/?node_id=216602> \- the original PM post +.IP \(bu 4 +<https://perlmonks.org/?node_id=238031> \- Damian Conway's Raku version +.IP \(bu 4 +<https://juerd.nl/site.plp/perlcheat> \- home of the Perl Cheat Sheet |