📄 perl5.htm
字号:
<html><!-- #BeginTemplate "/Templates/index.dwt" --><head><meta http-equiv=Content-Type content="text/html; charset=gb_2312-80"><title>ChinaPerl</title>
<LINK rel=stylesheet href=mystyle.css type=text/css>
</head><body>
<table border=0 cellspacing=0 bgcolor=#80FFFF width=100%>
<tr>
<td align=left rowspan=2 width=150>
<div align="center"><img src=image/perl.gif height=85 width="85"></div>
</td>
<td align=center><img src=image/perl.gif height=85 width="85"></td>
</tr><tr>
<td colspan=2 align=center> </td>
</tr></table>
<table border=0 width=100% height=400 cellspacing=0 cellpadding=0>
<tr>
<td width=20% valign=top bgcolor="#dddddd">
<table border=0 width=100% cellpadding=0><tr><td width=5%></td>
<td width=95%>
<p align=center>Perl 5教程<br>
<a target=_blank href=http://flamephoenix.126.com>by flamephoenix</a><a href="http://perl.yesky.net"><br>
<font color="red">修订 by RNY<br>
</font></a>2000-08-30</p>
<p align=center><a href="index.htm">目录</a></p>
<p align=center>第一部分 Perl语言</p>
<p><a href=perl1.htm>第一章 概述</a></p>
<p><a href=perl2.htm>第二章 简单变量</a></p>
<p><a href=perl3.htm>第三章 操作符</a></p>
<p><a href=perl4.htm>第四章 列表和数组变量</a></p>
<p><a href=perl5.htm>第五章 文件读写</a></p>
<p><a href=perl6.htm>第六章 模式匹配</a></p>
<p><a href=perl7.htm>第七章 控制结构</a></p>
<p><a href=perl8.htm>第八章 子程序</a></p>
<p><a href=perl9.htm>第九章 关联数组(哈希表)</a></p>
<p><a href=perl10.htm>第十章 格式化输出</a></p>
<p><a href=perl11.htm>第十一章 文件系统</a></p>
<p><a href=perl12.htm>第十二章 引用(指针)</a></p>
<p><a href=perl13.htm>第十三章 面向对象编程</a></p>
<p><a href=perl14.htm>第十四章 包和模块</a></p>
<p><a href=func.htm>附录一 函数集</a></p>
<p align=center>第二部分 Perl的CGI应用</p>
<p><a href=cgi1.htm>第一章 cgilib例</a></p>
<p><a href=cgi2.htm>第二章 动态创建图像</a></p>
<p><a href=cgi3.htm>第三章 计数器的编写方法</a></p>
<p><a href=cgi4.htm>第四章 Web Server设置</a></p>
第五章、...<br></td></tr></table></td>
<td width=80% valign=top>
<div align="center"></div>
<table border=0 width=100% cellpadding=0>
<tr bgcolor="#00FF80">
<td colspan="2">
<div align="center"> Perl教程 | <a href="perl5manual.zip">下载全文</a>
| <a target=_blank href=http://www.turbolinux.com.cn/cgi-bin/linux/wwwthreads.pl?action=list&Board=perl>Perl论坛</a>
| <a href="http://perl.yesky.net">推荐站点</a> | 关于我们 </div>
</td>
</tr>
<tr>
<td colspan="2"><!-- #BeginEditable "body" -->
<p align=center>第五章 文件读写<br>
</p>
<p align=center><a target=_blank href=http://flamephoenix.126.com>by
flamephoenix</a></p>
<a href=#一、打开、关闭文件>一、打开、关闭文件</a><br>
<a href=#二、读文件>二、读文件</a><br>
<a href=#三、写文件>三、写文件</a><br>
<a href=#四、判断文件状态>四、判断文件状态</a><br>
<a href=#五、命令行参数>五、命令行参数</a><br>
<a href=#六、打开管道>六、打开管道</a><br>
<br>
<a name=一、打开、关闭文件>一、打开、关闭文件</a><br>
语法为open (filevar, filename),其中filevar为文件句柄,或者说是程序中用来代表某文件的代号,filename为文件名,其路径可为相对路径,亦可为绝对路径。<br>
open(FILE1,"file1");<br>
open(FILE1, "/u/jqpublic/file1");<br>
打开文件时必须决定访问模式,在PERL中有三种访问模式:读、写和添加。后两种模式的区别在于写模式将原文件覆盖,原有内容丢失,形式为:open(outfile,">outfile");而添加模式则在原文件的末尾处继续添加内容,形式为:open(appendfile,
">>appendfile")。要注意的是,不能对文件同时进行读和写/添加操作。<br>
open的返回值用来确定打开文件的操作是否成功,当其成功时返回非零值,失败时返回零,因此可以如下判断:<br>
if (open(MYFILE, "myfile")) {<br>
# here's what to do if the file opened successfully<br>
}<br>
当文件打开失败时结束程序:<br>
unless (open (MYFILE, "file1"))
{<br>
die ("cannot open input file file1\n");<br>
}<br>
亦可用逻辑或操作符表示如下:<br>
open (MYFILE, "file1") || die ("Could
not open file");<br>
当文件操作完毕后,用close(MYFILE); 关闭文件。<br>
<a name=二、读文件>二、读文件</a><br>
语句$line = <MYFILE>;从文件中读取一行数据存储到简单变量$line中并把文件指针向后移动一行。<STDIN>为标准输入文件,通常为键盘输入,不需要打开。<br>
语句@array = <MYFILE>;把文件的全部内容读入数组@array,文件的每一行(含回车符)为@array的一个元素。<br>
<a name=三、写文件>三、写文件</a><br>
形式为:<br>
open(OUTFILE, ">outfile");<br>
print OUTFILE ("Here is an output line.\n");<br>
注:STDOUT、STDERR为标准输出和标准错误文件,通常为屏幕,且不需要打开。<br>
<a name=四、判断文件状态>四、判断文件状态</a><br>
1、文件测试操作符<br>
语法为:-op expr,如:<br>
if (-e "/path/file1") {<br>
print STDERR ("File file1 exists.\n");<br>
}<br>
<p></p>
<p align=center>文件测试操作符</p>
<div align=center>
<center>
<table border=1 width=70%>
<tr>
<td valign=top width=192><i>操作符</i></td>
<td valign=top width=384><i>描述</i></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>是否为字符设备</td>
</tr>
<tr>
<td valign=top width=192>-d</td>
<td valign=top width=384>是否为目录</td>
</tr>
<tr>
<td valign=top width=192>-e</td>
<td valign=top width=384>是否存在</td>
</tr>
<tr>
<td valign=top width=192>-f</td>
<td valign=top width=384>是否为普通文件</td>
</tr>
<tr>
<td valign=top width=192>-g</td>
<td valign=top width=384>是否设置了setgid位</td>
</tr>
<tr>
<td valign=top width=192>-k</td>
<td valign=top width=384>是否设置了sticky位</td>
</tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -