⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 strings.mht

📁 Perl 编程技巧大全。适合初学者阅读。
💻 MHT
📖 第 1 页 / 共 5 页
字号:
</FONT>$phrase =3D <FONT color=3D#00cd00>"I have "</FONT> . <FONT =
color=3D#00ffff>(</FONT>$n + <FONT color=3D#cdcd00>1</FONT><FONT =
color=3D#00ffff>)</FONT> . <FONT color=3D#00cd00>" =
guanacos."</FONT><FONT color=3D#00ffff>;</FONT>
$phrase =3D <FONT color=3D#00cd00>"I have ${\($n + 1)} =
guanacos."</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"I have =
"</FONT>,  $n + <FONT color=3D#cdcd00>1</FONT>, <FONT color=3D#00cd00>" =
guanacos.\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>some_func<FONT color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>"What you want is @{[ split /:/, $rec ]} =
items"</FONT><FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>die</FONT> <FONT color=3D#00cd00>"Couldn't =
send mail"</FONT> <FONT color=3D#ffa500>unless</FONT> <FONT =
color=3D#98fb98>send</FONT>_mail<FONT =
color=3D#00ffff>(</FONT>&lt;&lt;<FONT color=3D#00cd00>"EOTEXT"</FONT>, =
$target<FONT color=3D#00ffff>);</FONT>
To: $naughty
From: Your Bank
Cc: @<FONT color=3D#00ffff>{</FONT> get_manager_list<FONT =
color=3D#00ffff>(</FONT>$naughty<FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>}</FONT>
Date: @<FONT color=3D#00ffff>{[</FONT> <FONT color=3D#ffa500>do</FONT> =
<FONT color=3D#00ffff>{</FONT> <FONT color=3D#ffa500>my</FONT> $now =3D =
<FONT color=3D#00cd00>`date`</FONT><FONT color=3D#00ffff>;</FONT> <FONT =
color=3D#ff7f50>chomp</FONT> $now<FONT color=3D#00ffff>;</FONT> $now =
<FONT color=3D#00ffff>}</FONT> <FONT color=3D#00ffff>]}</FONT> <FONT =
color=3D#00ffff>(</FONT>today<FONT color=3D#00ffff>)</FONT>

Dear $naughty,

Today, you bounced check number @<FONT color=3D#00ffff>{[</FONT> <FONT =
color=3D#cdcd00>500</FONT> + <FONT color=3D#98fb98>int</FONT> <FONT =
color=3D#98fb98>rand</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#cdcd00>100</FONT><FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>]}</FONT> to us.
Your account is now closed.

Sincerely,
the management
EOTEXT
<FONT color=3D#bebebe>#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN47>Indenting Here Documents</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
  <TBODY>
  <TR>
    <TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
# all in one
</FONT><FONT color=3D#00ffff>(</FONT>$var =3D &lt;&lt;HERE_TARGET<FONT =
color=3D#00ffff>)</FONT> =3D~ <FONT =
color=3D#ff7f50>s</FONT>/^\s+//gm<FONT color=3D#00ffff>;</FONT>
    your text
    goes here
HERE_TARGET

<FONT color=3D#bebebe># or with two steps
</FONT>$var =3D &lt;&lt;HERE_TARGET<FONT color=3D#00ffff>;</FONT>
    your text
    goes here
HERE_TARGET
$var =3D~ <FONT color=3D#ff7f50>s</FONT>/^\s+//gm<FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#00ffff>(</FONT>$definition =3D &lt;&lt;<FONT =
color=3D#00cd00>'FINIS'</FONT><FONT color=3D#00ffff>)</FONT> =3D~ <FONT =
color=3D#ff7f50>s</FONT>/^\s+//gm<FONT color=3D#00ffff>;</FONT>
    The five varieties of camelids
    are the familiar camel, his friends
    the llama <FONT color=3D#98fb98>and</FONT> the alpaca, <FONT =
color=3D#98fb98>and</FONT> the
    rather less well-known guanaco
    <FONT color=3D#98fb98>and</FONT> vicu=F1a.
FINIS
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>sub</FONT> <FONT color=3D#b2dfee>fix</FONT> =
<FONT color=3D#00ffff>{</FONT>
    <FONT color=3D#ffa500>my</FONT> <FONT color=3D#9ac0cd>$string</FONT> =
=3D <FONT color=3D#ff7f50>shift</FONT><FONT color=3D#00ffff>;</FONT>
    $string =3D~ <FONT color=3D#ff7f50>s</FONT>/^\s+//gm<FONT =
color=3D#00ffff>;</FONT>
    <FONT color=3D#ffa500>return</FONT> $string<FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT>

<FONT color=3D#ff7f50>print</FONT> fix<FONT =
color=3D#00ffff>(</FONT>&lt;&lt;<FONT color=3D#00cd00>"END"</FONT><FONT =
color=3D#00ffff>);</FONT>
    My stuff goes here
<FONT color=3D#ffa500>END</FONT>

<FONT color=3D#bebebe># With function predeclaration, you can omit the =
parens:
</FONT><FONT color=3D#ff7f50>print</FONT> fix &lt;&lt;<FONT =
color=3D#00cd00>"END"</FONT><FONT color=3D#00ffff>;</FONT>
    My stuff goes here
<FONT color=3D#ffa500>END</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#00ffff>(</FONT>$quote =3D &lt;&lt;<FONT =
color=3D#00cd00>'    FINIS'</FONT><FONT color=3D#00ffff>)</FONT> =3D~ =
<FONT color=3D#ff7f50>s</FONT>/^\s+//gm<FONT color=3D#00ffff>;</FONT>
        ...we will have peace, when you <FONT color=3D#98fb98>and</FONT> =
all your works have
        perished--<FONT color=3D#98fb98>and</FONT> the works of your =
dark master to whom you would
        deliver us. You are a liar, Saruman, <FONT =
color=3D#98fb98>and</FONT> a corrupter of mens
        hearts.  --Theoden in /usr/src/perl/taint.c
    FINIS
$quote =3D~ <FONT color=3D#ff7f50>s</FONT>/\s+--/\n--/<FONT =
color=3D#00ffff>;</FONT>      <FONT color=3D#bebebe>#move attribution to =
line of its own
#-----------------------------
</FONT><FONT color=3D#ffa500>if</FONT> <FONT =
color=3D#00ffff>(</FONT>$REMEMBER_THE_MAIN<FONT color=3D#00ffff>)</FONT> =
<FONT color=3D#00ffff>{</FONT>
    $perl_main_C =3D dequote&lt;&lt;<FONT color=3D#00cd00>'    =
MAIN_INTERPRETER_LOOP'</FONT><FONT color=3D#00ffff>;</FONT>
        @@@ <FONT color=3D#98fb98>int</FONT>
        @@@ runops<FONT color=3D#00ffff>()</FONT> <FONT =
color=3D#00ffff>{</FONT>
        @@@     SAVEI32<FONT color=3D#00ffff>(</FONT>runlevel<FONT =
color=3D#00ffff>);</FONT>
        @@@     runlevel++<FONT color=3D#00ffff>;</FONT>
        @@@     <FONT color=3D#ffa500>while</FONT> <FONT =
color=3D#00ffff>(</FONT> op =3D <FONT =
color=3D#00ffff>(</FONT>*op-&gt;op_ppaddr<FONT =
color=3D#00ffff>)()</FONT> <FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>;</FONT>
        @@@     TAINT_NOT<FONT color=3D#00ffff>;</FONT>
        @@@     <FONT color=3D#ffa500>return</FONT> <FONT =
color=3D#cdcd00>0</FONT><FONT color=3D#00ffff>;</FONT>
        @@@ <FONT color=3D#00ffff>}</FONT>
    MAIN_INTERPRETER_LOOP
    <FONT color=3D#bebebe># add more code here if you want
</FONT><FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>sub</FONT> dequote<FONT =
color=3D#00ffff>;</FONT>
$poem =3D dequote&lt;&lt;EVER_ON_AND_ON<FONT color=3D#00ffff>;</FONT>
       Now far ahead the Road has gone,
          And I must follow, <FONT color=3D#ffa500>if</FONT> I can,
       Pursuing it with eager feet,
          Until it joins some larger way
       Where many paths <FONT color=3D#98fb98>and</FONT> errands meet.
          And whither then? I cannot say.
                --Bilbo in /usr/src/perl/pp_ctl.c
EVER_ON_AND_ON
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"Here's your =
poem:\n\n$poem\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
#Here's your poem:</FONT><FONT color=3D#43cd80>  </FONT><FONT =
color=3D#bebebe>
#
#Now far ahead the Road has gone,
#
#   And I must follow, if I can,
#
#Pursuing it with eager feet,
#
#   Until it joins some larger way
#
#Where many paths and errands meet.
#
#   And whither then? I cannot say.
#
#	  --Bilbo in /usr/src/perl/pp_ctl.c
#-----------------------------
</FONT><FONT color=3D#ffa500>sub</FONT> <FONT =
color=3D#b2dfee>dequote</FONT> <FONT color=3D#00ffff>{</FONT>
    <FONT color=3D#ffa500>local</FONT> <FONT color=3D#9ac0cd>$_</FONT> =
=3D <FONT color=3D#ff7f50>shift</FONT><FONT color=3D#00ffff>;</FONT>
    <FONT color=3D#ffa500>my</FONT> <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#9ac0cd>$white</FONT>, <FONT color=3D#9ac0cd>$leader</FONT><FONT =
color=3D#00ffff>);</FONT>  <FONT color=3D#bebebe># common whitespace and =
common leading string
</FONT>    <FONT color=3D#ffa500>if</FONT> <FONT =
color=3D#00ffff>(</FONT>/^\s*<FONT color=3D#00ffff>(</FONT>?:<FONT =
color=3D#00ffff>([</FONT>^\w\s<FONT color=3D#00ffff>]</FONT>+<FONT =
color=3D#00ffff>)(</FONT>\s*<FONT color=3D#00ffff>)</FONT>.*\n<FONT =
color=3D#00ffff>)(</FONT>?:\s*\<FONT color=3D#cdcd00>1</FONT>\<FONT =
color=3D#cdcd00>2</FONT>?.*\n<FONT color=3D#00ffff>)</FONT>+$/<FONT =
color=3D#00ffff>)</FONT> <FONT color=3D#00ffff>{</FONT>
        <FONT color=3D#00ffff>(</FONT>$white, $leader<FONT =
color=3D#00ffff>)</FONT> =3D <FONT color=3D#00ffff>(</FONT>$<FONT =
color=3D#cdcd00>2</FONT>, <FONT color=3D#98fb98>quotemeta</FONT><FONT =
color=3D#00ffff>(</FONT>$<FONT color=3D#cdcd00>1</FONT><FONT =
color=3D#00ffff>));</FONT>
    <FONT color=3D#00ffff>}</FONT> <FONT color=3D#ffa500>else</FONT> =
<FONT color=3D#00ffff>{</FONT>
        <FONT color=3D#00ffff>(</FONT>$white, $leader<FONT =
color=3D#00ffff>)</FONT> =3D <FONT color=3D#00ffff>(</FONT>/^<FONT =
color=3D#00ffff>(</FONT>\s+<FONT color=3D#00ffff>)</FONT>/, <FONT =
color=3D#00cd00>''</FONT><FONT color=3D#00ffff>);</FONT>
    <FONT color=3D#00ffff>}</FONT>
    <FONT color=3D#ff7f50>s</FONT>/^\s*?$leader<FONT =
color=3D#00ffff>(</FONT>?:$white<FONT color=3D#00ffff>)</FONT>?//gm<FONT =
color=3D#00ffff>;</FONT>
    <FONT color=3D#ffa500>return</FONT> $_<FONT color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>    <FONT color=3D#ffa500>if</FONT> <FONT =
color=3D#00ffff>(</FONT><FONT color=3D#ff7f50>m</FONT><FONT =
color=3D#00ffff>{</FONT>
            ^                       <FONT color=3D#bebebe># start of =
line
</FONT>            \s *                    <FONT color=3D#bebebe># 0 or =
more whitespace chars
</FONT>            <FONT color=3D#00ffff>(</FONT>?:                     =
<FONT color=3D#bebebe># begin first non-remembered grouping
</FONT>                 <FONT color=3D#00ffff>(</FONT>                  =
<FONT color=3D#bebebe>#   begin save buffer $1
</FONT>                    <FONT color=3D#00ffff>[</FONT>^\w\s<FONT =
color=3D#00ffff>]</FONT>         <FONT color=3D#bebebe>#     one byte =
neither space nor word
</FONT>                    +               <FONT color=3D#bebebe>#     1 =
or more of such
</FONT>                 <FONT color=3D#00ffff>)</FONT>                  =
<FONT color=3D#bebebe>#   end save buffer $1
</FONT>                 <FONT color=3D#00ffff>(</FONT> \s* <FONT =
color=3D#00ffff>)</FONT>            <FONT color=3D#bebebe>#   put 0 or =
more white in buffer $2
</FONT>                 .* \n              <FONT color=3D#bebebe>#   =
match through the end of first line
</FONT>             <FONT color=3D#00ffff>)</FONT>                      =
<FONT color=3D#bebebe># end of first grouping
</FONT>             <FONT color=3D#00ffff>(</FONT>?:                    =
<FONT color=3D#bebebe># begin second non-remembered grouping
</FONT>                \s *                <FONT color=3D#bebebe>#   0 =
or more whitespace chars
</FONT>                \<FONT color=3D#cdcd00>1</FONT>                  =
<FONT color=3D#bebebe>#   whatever string is destined for $1
</FONT>                \<FONT color=3D#cdcd00>2</FONT> ?                =
<FONT color=3D#bebebe>#   what'll be in $2, but optionally
</FONT>                .* \n               <FONT color=3D#bebebe>#   =
match through the end of the line
</FONT>             <FONT color=3D#00ffff>)</FONT> +                    =
<FONT color=3D#bebebe># now repeat that group idea 1 or more
</FONT>             $                      <FONT color=3D#bebebe># until =
the end of the line
</FONT>          <FONT color=3D#00ffff>}</FONT><FONT =
color=3D#98fb98>x</FONT>
       <FONT color=3D#00ffff>)</FONT>
    <FONT color=3D#00ffff>{</FONT>
        <FONT color=3D#00ffff>(</FONT>$white, $leader<FONT =
color=3D#00ffff>)</FONT> =3D <FONT color=3D#00ffff>(</FONT>$<FONT =
color=3D#cdcd00>2</FONT>, <FONT color=3D#98fb98>quotemeta</FONT><FONT =
color=3D#00ffff>(</FONT>$<FONT color=3D#cdcd00>1</FONT><FONT =
color=3D#00ffff>));</FONT>
    <FONT color=3D#00ffff>}</FONT> <FONT color=3D#ffa500>else</FONT> =
<FONT color=3D#00ffff>{</FONT>
        <FONT color=3D#00ffff>(</FONT>$white, $leader<FONT =
color=3D#00ffff>)</FONT> =3D <FONT color=3D#00ffff>(</FONT>/^<FONT =
color=3D#00ffff>(</FONT>\s+<FONT color=3D#00ffff>)</FONT>/, <FONT =
color=3D#00cd00>''</FONT><FONT color=3D#00ffff>);</FONT>
    <FONT color=3D#00ffff>}</FONT>
    <FONT color=3D#ff7f50>s</FONT><FONT color=3D#00fff

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -