#!/usr/bin/perl -w ############################################################################## # # An example of writing an Excel file to a Perl scalar using Spreadsheet:: # WriteExcel and the new features of perl 5.8. # # For an examples of how to write to a scalar in versions prior to perl 5.8 # see the filehandle.pl program and IO:Scalar. # # reverse('©'), September 2004, John McNamara, jmcnamara@cpan.org # use strict; use Spreadsheet::WriteExcel; require 5.008; # Use perl 5.8's feature of using a scalar as a filehandle. my $fh; my $str = ''; open $fh, '>', \$str or die "Failed to open filehandle: $!"; # Or replace the previous three lines with this: # open my $fh, '>', \my $str or die "Failed to open filehandle: $!"; # Spreadsheet::WriteExce accepts filehandle as well as file names. my $workbook = Spreadsheet::WriteExcel->new($fh); my $worksheet = $workbook->add_worksheet(); $worksheet->write(0, 0, "Hi Excel!"); $workbook->close(); # The Excel file in now in $str. Remember to binmode() the output # filehandle before printing it. binmode STDOUT; print $str; __END__