![Perl语言IC设计实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/679/42983679/b_42983679.jpg)
上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](https://epubservercos.yuewen.com/76AE41/22425997409406006/epubprivate/OEBPS/Images/038-1.jpg?sign=1739290341-tqhZFVD5QjW18nK9xbOR49ghpEdhHTge-0-c5621901a653971f971ccc79eef29d0a)
为了更精确地控制输出格式,我们还可以在%后面增加数字和正负号,如表2-3所示。
表2-3 格式定义符2
![000](https://epubservercos.yuewen.com/76AE41/22425997409406006/epubprivate/OEBPS/Images/038-2.jpg?sign=1739290341-EM7PJYapLqI3DizKlxJbGeAIvh5Wl1Jb-0-e1d59f991c46ef35dab20d818c28f800)
与print函数类似,如果在printf后面指定文件句柄,就可以把带格式的内容输出到文件了。
如果需要输出%本身,则需要写两个%,即“%%”。