Perl语言IC设计实践
上QQ阅读APP看书,第一时间看更新

2.3 写入文件

要写入文件,也可以使用open函数,只不过符号由<变成了>,这些符号都借鉴自shell。

代码2-2 ch02/write_file.pl

1 #!/usr/local/bin/perl
2 
3 open my $fh_output, '>', "write_file.txt";
4 print $fh_output "This is an example\n";
5 close $fh_output;
6 
7 exit 0;

最常用的输出函数是print,紧跟print的是输出文件的句柄(即$fh_output),然后是输出的内容。

请注意,>符号的含义与shell命令行中的含义类似,如果文件不存在,Perl会自动创建该文件;如果文件已经存在,那么文件的内容会被清空,然后等待后续的print输入。

代码2-2的程序运行完成以后,会生成一个文件write_file.txt,里面只有一行内容:

This is an example

如果你需要补充内容到已经存在的文件尾部,那么可以使用>>符号。

如果你需要具有格式的输出,比如列对齐,或者对有理数的小数部分进行截断,那么可以使用printf:

printf "%s is around %.4f\n", "Pi", "3.14159";

上述代码输出:

Pi is around 3.1416

printf函数的参数包括格式字符串("%s is around %.4f\n")和数据列表("Pi", "3.14159")。在格式字符串中,会有一些以%开头的格式定义符。定义符的意义如下表2-2所示。

表2-2 格式定义符1

000

为了更精确地控制输出格式,我们还可以在%后面增加数字和正负号,如表2-3所示。

表2-3 格式定义符2

000

与print函数类似,如果在printf后面指定文件句柄,就可以把带格式的内容输出到文件了。

如果需要输出%本身,则需要写两个%,即“%%”。