如何在Perl中将变量打印到文件?

6

我正在使用以下代码尝试将变量打印到文件中。

my $filename = "test/test.csv";
open FILE, "<$filename";
my $xml = get "http://someurl.com";
print $xml;
print FILE $xml;
close FILE;

所以print $xml会将正确的输出显示在屏幕上。但是print FILE $xml没有任何作用。

为什么写入文件这行代码不起作用呢?Perl似乎经常遇到这些不起作用的问题......

为了让写入文件的代码生效,需要文件已经存在吗?

1个回答

26
< p > < 用于打开文件进行读取。使用 > 打开文件进行写入(或使用 >> 追加写入)。

另外,添加一些错误处理也是值得的:

use strict;
use warnings;
use LWP::Simple;

my $filename = "test/test.csv";
open my $fh, ">", $filename or die("Could not open file. $!");
my $xml = get "http://example.com";
print $xml;
print $fh $xml;
close $fh;

1
使用词法文件句柄和错误检查,为open的三参数版本加上+1。 - dgw

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接