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

📄 strings.mht

📁 Perl 编程技巧大全。适合初学者阅读。
💻 MHT
📖 第 1 页 / 共 5 页
字号:
    <FONT color=3D#ffa500>foreach</FONT> <FONT =
color=3D#9ac0cd>$place</FONT> <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#cdad00>@positions</FONT><FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>{</FONT>
        $template .=3D <FONT color=3D#00cd00>"A"</FONT> . <FONT =
color=3D#00ffff>(</FONT>$place - $lastpos<FONT color=3D#00ffff>)</FONT> =
. <FONT color=3D#00cd00>" "</FONT><FONT color=3D#00ffff>;</FONT>
        $lastpos   =3D $place<FONT color=3D#00ffff>;</FONT>
    <FONT color=3D#00ffff>}</FONT>
    $template .=3D <FONT color=3D#00cd00>"A*"</FONT><FONT =
color=3D#00ffff>;</FONT>
    <FONT color=3D#ffa500>return</FONT> $template<FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT>

$fmt =3D cut2fmt<FONT color=3D#00ffff>(</FONT><FONT =
color=3D#cdcd00>8</FONT>, <FONT color=3D#cdcd00>14</FONT>, <FONT =
color=3D#cdcd00>20</FONT>, <FONT color=3D#cdcd00>26</FONT>, <FONT =
color=3D#cdcd00>30</FONT><FONT color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT =
color=3D#00cd00>"$fmt\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># A7 A6 A6 A6 A4 A*
#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN20>Establishing a Default Value</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>#-----------------------------
# use $b if $b is true, else $c
</FONT>$a =3D $b || $c<FONT color=3D#00ffff>;</FONT><FONT =
color=3D#43cd80>              </FONT>

<FONT color=3D#bebebe># set $x to $y unless $x is already true
</FONT>$x ||=3D $y
<FONT color=3D#bebebe>#-----------------------------
# use $b if $b is defined, else $c
</FONT>$a =3D <FONT color=3D#ff7f50>defined</FONT><FONT =
color=3D#00ffff>(</FONT>$b<FONT color=3D#00ffff>)</FONT> ? $b : $c<FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$foo =3D $bar || <FONT color=3D#00cd00>"DEFAULT =
VALUE"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$dir =3D <FONT color=3D#ff7f50>shift</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#cdad00>@ARGV</FONT><FONT =
color=3D#00ffff>)</FONT> || <FONT color=3D#00cd00>"/tmp"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$dir =3D <FONT color=3D#cdad00>$ARGV</FONT><FONT =
color=3D#00ffff>[</FONT><FONT color=3D#cdcd00>0</FONT><FONT =
color=3D#00ffff>]</FONT> || <FONT color=3D#00cd00>"/tmp"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$dir =3D <FONT color=3D#ff7f50>defined</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#cdad00>$ARGV</FONT><FONT =
color=3D#00ffff>[</FONT><FONT color=3D#cdcd00>0</FONT><FONT =
color=3D#00ffff>])</FONT> ? <FONT color=3D#ff7f50>shift</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#cdad00>@ARGV</FONT><FONT =
color=3D#00ffff>)</FONT> : <FONT color=3D#00cd00>"/tmp"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$dir =3D <FONT color=3D#cdad00>@ARGV</FONT> ? <FONT =
color=3D#cdad00>$ARGV</FONT><FONT color=3D#00ffff>[</FONT><FONT =
color=3D#cdcd00>0</FONT><FONT color=3D#00ffff>]</FONT> : <FONT =
color=3D#00cd00>"/tmp"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#cdcd00>$count</FONT><FONT color=3D#00ffff>{</FONT> =
$shell || <FONT color=3D#00cd00>"/bin/sh"</FONT> <FONT =
color=3D#00ffff>}</FONT>++<FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
# find the user name on Unix systems
</FONT>$user =3D <FONT color=3D#cdcd00>$ENV</FONT><FONT =
color=3D#00ffff>{</FONT><FONT color=3D#00cd00>USER</FONT><FONT =
color=3D#00ffff>}</FONT>
     || <FONT color=3D#cdcd00>$ENV</FONT><FONT =
color=3D#00ffff>{</FONT><FONT color=3D#00cd00>LOGNAME</FONT><FONT =
color=3D#00ffff>}</FONT>
     || <FONT color=3D#98fb98>getlogin</FONT><FONT =
color=3D#00ffff>()</FONT>
     || <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#98fb98>getpwuid</FONT><FONT color=3D#00ffff>(</FONT>$&lt;<FONT =
color=3D#00ffff>))[</FONT><FONT color=3D#cdcd00>0</FONT><FONT =
color=3D#00ffff>]</FONT>
     || <FONT color=3D#00cd00>"Unknown uid number $&lt;"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$starting_point ||=3D <FONT =
color=3D#00cd00>"Greenwich"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#cdad00>@a</FONT> =3D <FONT =
color=3D#cdad00>@b</FONT> <FONT color=3D#ffa500>unless</FONT> <FONT =
color=3D#cdad00>@a</FONT><FONT color=3D#00ffff>;</FONT>          <FONT =
color=3D#bebebe># copy only if empty
</FONT><FONT color=3D#cdad00>@a</FONT> =3D <FONT =
color=3D#cdad00>@b</FONT> ? <FONT color=3D#cdad00>@b</FONT> : <FONT =
color=3D#cdad00>@c</FONT><FONT color=3D#00ffff>;</FONT>          <FONT =
color=3D#bebebe># assign </FONT><FONT color=3D#cdad00>@b</FONT><FONT =
color=3D#bebebe> if nonempty, else </FONT><FONT =
color=3D#cdad00>@c</FONT><FONT color=3D#bebebe>
#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN23>Exchanging Values Without Using =
Temporary=20
Variables</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>#-----------------------------
</FONT><FONT color=3D#00ffff>(</FONT>$VAR1, $VAR2<FONT =
color=3D#00ffff>)</FONT> =3D <FONT color=3D#00ffff>(</FONT>$VAR2, =
$VAR1<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$temp    =3D $a<FONT color=3D#00ffff>;</FONT>
$a       =3D $b<FONT color=3D#00ffff>;</FONT>
$b       =3D $temp<FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$a       =3D <FONT color=3D#00cd00>"alpha"</FONT><FONT =
color=3D#00ffff>;</FONT>
$b       =3D <FONT color=3D#00cd00>"omega"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>(</FONT>$a, $b<FONT color=3D#00ffff>)</FONT> =3D =
<FONT color=3D#00ffff>(</FONT>$b, $a<FONT color=3D#00ffff>);</FONT>      =
  <FONT color=3D#bebebe># the first shall be last -- and versa vice
#-----------------------------
</FONT><FONT color=3D#00ffff>(</FONT>$alpha, $beta, $production<FONT =
color=3D#00ffff>)</FONT> =3D <FONT color=3D#ff7f50>qw</FONT><FONT =
color=3D#00cd00>(January March August)</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># move beta       to alpha,
# move production to beta,
# move alpha      to production
</FONT><FONT color=3D#00ffff>(</FONT>$alpha, $beta, $production<FONT =
color=3D#00ffff>)</FONT> =3D <FONT color=3D#00ffff>(</FONT>$beta, =
$production, $alpha<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN26>Converting Between ASCII Characters =
and=20
Values</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>#-----------------------------
</FONT>$num  =3D <FONT color=3D#98fb98>ord</FONT><FONT =
color=3D#00ffff>(</FONT>$char<FONT color=3D#00ffff>);</FONT>
$char =3D <FONT color=3D#98fb98>chr</FONT><FONT =
color=3D#00ffff>(</FONT>$num<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$char =3D <FONT color=3D#98fb98>sprintf</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"</FONT><FONT =
color=3D#cdcd00>%c</FONT><FONT color=3D#00cd00>"</FONT>, $num<FONT =
color=3D#00ffff>);</FONT>                <FONT color=3D#bebebe># slower =
than chr($num)
</FONT><FONT color=3D#ff7f50>printf</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"Number </FONT><FONT =
color=3D#cdcd00>%d</FONT><FONT color=3D#00cd00> is character =
</FONT><FONT color=3D#cdcd00>%c</FONT><FONT color=3D#00cd00>\n"</FONT>, =
$num, $num<FONT color=3D#00ffff>);</FONT>
Number <FONT color=3D#cdcd00>101</FONT> is character e
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#cdad00>@ASCII</FONT> =3D <FONT =
color=3D#98fb98>unpack</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>"C*"</FONT>, $string<FONT color=3D#00ffff>);</FONT>
$STRING =3D <FONT color=3D#98fb98>pack</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"C*"</FONT>, <FONT =
color=3D#cdad00>@ascii</FONT><FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$ascii_value =3D <FONT color=3D#98fb98>ord</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"e"</FONT><FONT =
color=3D#00ffff>);</FONT>    <FONT color=3D#bebebe># now 101
</FONT>$character   =3D <FONT color=3D#98fb98>chr</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#cdcd00>101</FONT><FONT =
color=3D#00ffff>);</FONT>    <FONT color=3D#bebebe># now "e"
#-----------------------------
</FONT><FONT color=3D#ff7f50>printf</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"Number </FONT><FONT =
color=3D#cdcd00>%d</FONT><FONT color=3D#00cd00> is character =
</FONT><FONT color=3D#cdcd00>%c</FONT><FONT color=3D#00cd00>\n"</FONT>, =
<FONT color=3D#cdcd00>101</FONT>, <FONT color=3D#cdcd00>101</FONT><FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#cdad00>@ascii_character_numbers</FONT> =3D <FONT =
color=3D#98fb98>unpack</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>"C*"</FONT>, <FONT color=3D#00cd00>"sample"</FONT><FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"</FONT><FONT =
color=3D#cdad00>@ascii_character_numbers</FONT><FONT =
color=3D#00cd00>\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#cdcd00>115</FONT> <FONT color=3D#cdcd00>97</FONT> <FONT =
color=3D#cdcd00>109</FONT> <FONT color=3D#cdcd00>112</FONT> <FONT =
color=3D#cdcd00>108</FONT> <FONT color=3D#cdcd00>101</FONT>


$word =3D <FONT color=3D#98fb98>pack</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"C*"</FONT>, <FONT =
color=3D#cdad00>@ascii_character_numbers</FONT><FONT =
color=3D#00ffff>);</FONT>
$word =3D <FONT color=3D#98fb98>pack</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"C*"</FONT>, <FONT =
color=3D#cdcd00>115</FONT>, <FONT color=3D#cdcd00>97</FONT>, <FONT =
color=3D#cdcd00>109</FONT>, <FONT color=3D#cdcd00>112</FONT>, <FONT =
color=3D#cdcd00>108</FONT>, <FONT color=3D#cdcd00>101</FONT><FONT =
color=3D#00ffff>);</FONT>   <FONT color=3D#bebebe># same
</FONT><FONT color=3D#ff7f50>print</FONT> <FONT =
color=3D#00cd00>"$word\n"</FONT><FONT color=3D#00ffff>;</FONT>
sample
<FONT color=3D#bebebe>#-----------------------------
</FONT>$hal =3D <FONT color=3D#00cd00>"HAL"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#cdad00>@ascii</FONT> =3D <FONT =
color=3D#98fb98>unpack</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>"C*"</FONT>, $hal<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#ffa500>foreach</FONT> <FONT color=3D#9ac0cd>$val</FONT> =
<FONT color=3D#00ffff>(</FONT><FONT color=3D#cdad00>@ascii</FONT><FONT =
color=3D#00ffff>)</FONT> <FONT color=3D#00ffff>{</FONT>
    $val++<FONT color=3D#00ffff>;</FONT>                 <FONT =
color=3D#bebebe># add one to each ASCII value
</FONT><FONT color=3D#00ffff>}</FONT>
$ibm =3D <FONT color=3D#98fb98>pack</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"C*"</FONT>, <FONT =
color=3D#cdad00>@ascii</FONT><FONT color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT =
color=3D#00cd00>"$ibm\n"</FONT><FONT color=3D#00ffff>;</FONT>            =
 <FONT color=3D#bebebe># prints "IBM"
#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN29>Processing a String One Character at a =

Time</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>#-----------------------------
</FONT><FONT color=3D#cdad00>@array</FONT> =3D <FONT =
color=3D#ff7f50>split</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#b2dfee>//</FONT>, $string<FONT color=3D#00ffff>);</FONT>

<FONT color=3D#cdad00>@array</FONT> =3D <FONT =
color=3D#98fb98>unpack</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>"C*"</FONT>, $string<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>    <FONT color=3D#ffa500>while</FONT> <FONT =
color=3D#00ffff>(</FONT><FONT color=3D#ff7f50>/</FONT><FONT =
color=3D#00cd00>(.)</FONT><FONT color=3D#ff7f50>/</FONT><FONT =
color=3D#ff7f50>g</FONT><FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>{</FONT> <FONT color=3D#bebebe># . is never a newline =
here
</FONT>        <FONT color=3D#bebebe># do something with $1
</FONT>    <FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#cdcd00>%seen</FONT> =3D <FONT =
color=3D#00ffff>();</FONT>
$string =3D <FONT color=3D#00cd00>"an apple a day"</FONT><FONT =

⌨️ 快捷键说明

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