How to print a variable to a file in Perl?

23,387

The < opens a file for reading. Use > to open a file for writing (or >> to append).

It is also worthwhile adding some error handling:

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;
Share:
23,387
user788171
Author by

user788171

Updated on May 31, 2020

Comments

  • user788171
    user788171 almost 4 years

    I am using the following code to try to print a variable to file.

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

    So print $xml prints the correct output to the screen. But print FILE $xml doesn't do anything.

    Why does the printing to file line not work? Perl seems to often have these things that just don't work...

    For the print to file line to work, is it necessary that the file already exists?

  • dgw
    dgw over 11 years
    +1 for three-argument-version of open, using lexical filehandles and error checking.