你可以采取多种模式来打开文件。你可以读、写、添加或是使用不同模式的组合。所有这些模式都由文件名前面的符号来指定。这些符号和相应的命令行重定向是一样的
以下是基本的打开形式:
open(INPUT, "<tips.txt") or die "Can't
open file: $!
";
while (<INPUT>)
{
....print "Tips: $_";
}
这个会创建一个句柄(INPUT),在当前的目录下读取"tips.txt"文件。
如果要创建句柄输出,你可以使用使用 > instead of <. 将你打开一个文件并将它输出的时候, 任何存在的文件都被删除并建立新的空文件夹。
open(OUTPUT, ">tips.txt") or die "Can't
open file: $!
";
print OUTPUT "Hello, world
";
如果要追加一个新文件(i.e., writing at the end of an existing file), 可以按照下面的方式来完成:
open(APPEND, ">>tips.txt") or die "Can't open file: $! ";
如果你需要读或者写,可以在读的符号前添加+符号:
open(BIDIRECTIONAL, "+<tips.txt") or die "Can't open file: $! ";
你可以使用双向的符号写"+>" 并追加"+>>" 模式, 但是通常情况下它没有意义.如果你在写模式下使用它, 它将删除你刚才所读的文件. 在一开始的时候你可以利用追加但是你所有的输出将在文件结尾的时候结束。
因此,你需要在结束的时候使用句柄:
close(INPUT);
close(OUTPUT);
使用文件打开模式的字符可以使文件存取更容易和更易懂。