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

📄 perl5.htm

📁 Perl作为一门重要的工程语言
💻 HTM
📖 第 1 页 / 共 2 页
字号:
                  <tr>
                    <td valign=top width=192>-l</td>
                    <td valign=top width=384>是否为符号链接</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-o</td>
                    <td valign=top width=384>是否拥有该文件</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-p</td>
                    <td valign=top width=384>是否为管道</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-r</td>
                    <td valign=top width=384>是否可读</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-s</td>
                    <td valign=top width=384>是否非空</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-t</td>
                    <td valign=top width=384>是否表示终端</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-u</td>
                    <td valign=top width=384>是否设置了setuid位</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-w</td>
                    <td valign=top width=384>是否可写</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-x</td>
                    <td valign=top width=384>是否可执行</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-z</td>
                    <td valign=top width=384>是否为空文件</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-A</td>
                    <td valign=top width=384>距上次访问多长时间</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-B</td>
                    <td valign=top width=384>是否为二进制文件</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-C</td>
                    <td valign=top width=384>距上次访问文件的inode多长时间</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-M</td>
                    <td valign=top width=384>距上次修改多长时间</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-O</td>
                    <td valign=top width=384>是否只为“真正的用户”所拥有</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-R</td>
                    <td valign=top width=384>是否只有“真正的用户”可读</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-S</td>
                    <td valign=top width=384>是否为socket</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-T</td>
                    <td valign=top width=384>是否为文本文件</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-W</td>
                    <td valign=top width=384>是否只有&quot;真正的用户&quot;可写</td>
                  </tr>
                  <tr>
                    <td valign=top width=192>-X</td>
                    <td valign=top width=384>是否只有&quot;真正的用户&quot;可执行</td>
                  </tr>
                  <tr>
                    <td colspan=2>注:“真正的用户”指登录时指定的userid,与当前进程用户ID相对,命令suid可以改变有效用户ID。</td>
                  </tr>
                </table>
              </center>
            </div>
            <p>&nbsp;&nbsp;例:<br>
              &nbsp;&nbsp;&nbsp;&nbsp;unless (open(INFILE, &quot;infile&quot;)) 
              {<br>
              &nbsp;&nbsp;&nbsp;&nbsp;die (&quot;Input file infile cannot be opened.\n&quot;);<br>
              &nbsp;&nbsp;&nbsp;&nbsp;}<br>
              &nbsp;&nbsp;&nbsp;&nbsp;if (-e &quot;outfile&quot;) {<br>
              &nbsp;&nbsp;&nbsp;&nbsp;die (&quot;Output file outfile already exists.\n&quot;);<br>
              &nbsp;&nbsp;&nbsp;&nbsp;}<br>
              &nbsp;&nbsp;&nbsp;&nbsp;unless (open(OUTFILE, &quot;&gt;outfile&quot;)) 
              {<br>
              &nbsp;&nbsp;&nbsp;&nbsp;die (&quot;Output file outfile cannot be 
              opened.\n&quot;);<br>
              &nbsp;&nbsp;&nbsp;&nbsp;}<br>
              &nbsp;&nbsp;等价于<br>
              &nbsp;&nbsp;&nbsp;&nbsp;open(INFILE, &quot;infile&quot;) &amp;&amp; 
              !(-e &quot;outfile&quot;) &amp;&amp;<br>
              &nbsp;&nbsp;&nbsp;&nbsp;open(OUTFILE, &quot;&gt;outfile&quot;) || 
              die(&quot;Cannot open files\n&quot;);<br>
              <a name=五、命令行参数>五、命令行参数</a><br>
              &nbsp;&nbsp;象C一样,PERL也有存储命令行参数的数组@ARGV,可以用来分别处理各个命令行参数;与C不同的是,$ARGV[0]是第一个参数,而不是程序名本身。<br>
              &nbsp;&nbsp;&nbsp;&nbsp;$var = $ARGV[0]; # 第一个参数<br>
              &nbsp;&nbsp;&nbsp;&nbsp;$numargs = @ARGV; # 参数的个数<br>
              &nbsp;&nbsp;PERL中,&lt;&gt;操作符实际上是对数组@ARGV的隐含的引用,其工作原理为:<br>
              1、当PERL解释器第一次看到&lt;&gt;时,打开以$ARGV[0]为文件名的文件;<br>
              2、执行动作shift(@ARGV); 即把数组@ARGV的元素向前移动一个,其元素数量即减少了一个。<br>
              3、&lt;&gt;操作符读取在第一步打开的文件中的所有行。<br>
              4、读完后,解释器回到第一步重复。<br>
              &nbsp;&nbsp;例:<br>
              &nbsp;&nbsp;&nbsp;&nbsp;@ARGV = (&quot;myfile1&quot;, &quot;myfile2&quot;); 
              #实际上由命令行参数赋值<br>
              &nbsp;&nbsp;&nbsp;&nbsp;while ($line = &lt;&gt;) {<br>
              &nbsp;&nbsp;&nbsp;&nbsp;print ($line);<br>
              &nbsp;&nbsp;&nbsp;&nbsp;}<br>
              &nbsp;&nbsp;将把文件myfile1和myfile2的内容打印出来。<br>
              <a name=六、打开管道>六、打开管道</a><br>
              &nbsp;&nbsp;用程序的形式也可以象命令行一样打开和使用管道(ex:ls &gt; tempfile)。如语句open 
              (MYPIPE, &quot;| cat &gt;hello&quot;); 打开一个管道,发送到MYPIPE的输出成为命令&quot;cat 
              &gt;hello&quot;的输入。由于cat命令将显示输入文件的内容,故该语句等价于open(MYPIPE, &quot;&gt;hello&quot;); 
              用管道发送邮件如下:<br>
              &nbsp;&nbsp;&nbsp;&nbsp;open (MESSAGE, &quot;| mail dave&quot;);<br>
              &nbsp;&nbsp;&nbsp;&nbsp;print MESSAGE (&quot;Hi, Dave! Your Perl 
              program sent this!\n&quot;);<br>
              &nbsp;&nbsp;&nbsp;&nbsp;close (MESSAGE);<br>
            </p>
            <p align=center><a href=perl4.htm>上一章</a> <a href=perl6.htm>下一章</a> 
              <a href=index.htm>目录</a></p>
            <p align=center>&nbsp; </p>
            <!-- #EndEditable --></td>
        </tr>
      </table>
    </td></tr></table></body><!-- #EndTemplate --></html>

⌨️ 快捷键说明

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