? 如何打开和关闭文件。
? 如果将数据写入文件。
? 如何从文件中读取数据。
? 如何使你编写的P e r l程序具备保护功能,从而使其更加强大。
打开文件的格式咧,是这个样子的。
open (filehandle, pathname)
也是拥有句柄的奥,如果你愿意这么叫的话。不过我习惯直接理解作用,然后找到方便自己记忆的方法啦
上面的open是一个函数了啦。
die函数用于停止Perl程序的执行,会输出错误的脚本名称以及发生的行数。
die和open呢是可以常常一起出现的。样子大概是下面的这个样子。
open (MYTEXT,"novel.txt) | | die;
上面的一行的可以读作“打开或撤销”,
路径名:
可以打开绝对路径神马的,要注意正反斜杠的用法,还有小心因为斜杠被转义了奥~~~
出色的防错措施:
自己多多注意吧,少年。。。
以适当的方式运行die函数。哦吼吼。
P e r l中有一个特殊的变量$ !,它总是设置为系统需要的最后一个操作(比如磁盘输入或输
出)的出错消息。当 $ !用于数字上下文时,它返回一个错误号,这个号可能对任何人都没有
什么用处。在字符串上下文中,$ !返回来自你的操作系统的相应的出错消息:
如果由于文件不存在,上面这个代码段中的代码运行失败,那么输出的消息将类似 c a n n o t
open myfile : a file or directory in the path does not exist,
读取文件奥~~~~~~~
可以使用两种不同的方法读取 P e r l的文件句柄。最常用的方法是使用文件输入运算符,也
叫做尖括号运算符(< >)。若要读取文件句柄,只需要将文件句柄放入尖括号运算符中,并将
该值赋予一个变量:
#!/usr/bin/perl
open(MYFILE,"myfile") || die "bu neng dakai ao :$!";
$line=;
[root@shangxiantongbu script]# ./duqu1.pl
bu neng dakai ao :该目录找不到指定文件 at ./duqu1.pl line 2.
标量变量中的尖括号运算符能够读取来自文件的一行输入。当该文件被读完时,尖括号
返回值u n d e f。
[root@shangxiantongbu script]# cat duqu2.pl
#!/usr/bin/perl
open(MYFILE,"myfile") || die "bu neng dakai ao :$!";
while(defined($a=)) {
print $a};
如何输出所有的行咧,是通过while循环来实现的呢。
[root@shangxiantongbu script]# cat duqu2.pl
#!/usr/bin/perl
open(MYFILE,"myfile") || die "bu neng dakai ao :$!";
while(defined($a=)) {
print $a};
[root@shangxiantongbu script]# ./duqu2.pl
dfjngdjfngjdfngjdnfjdfl
dflngdjfngldjfg
dflgnldfnkgldf
gdflgnldfjngldfg
dfgldfjngldfg
dfgldfngj
[root@shangxiantongbu script]# ./duxie2.pl
[root@shangxiantongbu script]# cat logfile
sdfsdfsdgsdfsdfwefewfsdfsdfMon Feb 10 09:38:43 2014
sdfsdfsdgsdfsdfwefewfsdfsdfMon Feb 10 09:39:05 2014
sdfsdfsdgsdfsdfwefewfsdfsdfMon Feb 10 10:52:33 2014
打开句柄,进行写入,写入完成后关闭句柄~~~
[root@shangxiantongbu script]# cat xieru.pl
#!/usr/bin/perl
open(SOURCE,"xierusource") || die "$!";
open(DEST,">xierudest") || die "$!";
@contents=;
print DEST @contents;
close(DEST);
close(SOURCE);
这个起到了一个简单的复制作用。
自由文件、测试文件和二进制数据
文件和文件系统不一定只包含你写入文件的数据。有时文件句柄代表的不仅仅是个简单
文件。例如,文件句柄可以被附加给键盘设备、网络套接字和大容量存储设备,如磁带驱动
器。
另外,文件系统也可以包含所谓的关于你的文件的元数据。 P e r l可以用来查询文件系统,
以便确定你的文件究竟有多大,上次修改文件的时间,谁修改了这个文件,以及文件中究竟
有些什么信息等。在有些操作系统中,文件的元数据甚至能够确定文件是作为文本文件还是
二进制文件来处理。