/usr/share/doc/libexcel-writer-xlsx-perl/examples/filehandle.pl is in libexcel-writer-xlsx-perl 0.86-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | #!/usr/bin/perl
###############################################################################
#
# Example of using Excel::Writer::XLSX to write Excel files to different
# filehandles.
#
# reverse ('(c)'), April 2003, John McNamara, jmcnamara@cpan.org
#
use strict;
use warnings;
use Excel::Writer::XLSX;
use IO::Scalar;
###############################################################################
#
# Example 1. This demonstrates the standard way of creating an Excel file by
# specifying a file name.
#
my $workbook1 = Excel::Writer::XLSX->new( 'fh_01.xlsx' );
my $worksheet1 = $workbook1->add_worksheet();
$worksheet1->write( 0, 0, 'Hi Excel 1' );
###############################################################################
#
# Example 2. Write an Excel file to an existing filehandle.
#
open TEST, '>', 'fh_02.xlsx' or die "Couldn't open file: $!";
binmode TEST; # Always do this regardless of whether the platform requires it.
my $workbook2 = Excel::Writer::XLSX->new( \*TEST );
my $worksheet2 = $workbook2->add_worksheet();
$worksheet2->write( 0, 0, 'Hi Excel 2' );
###############################################################################
#
# Example 3. Write an Excel file to an existing OO style filehandle.
#
my $fh = FileHandle->new( '> fh_03.xlsx' ) or die "Couldn't open file: $!";
binmode( $fh );
my $workbook3 = Excel::Writer::XLSX->new( $fh );
my $worksheet3 = $workbook3->add_worksheet();
$worksheet3->write( 0, 0, 'Hi Excel 3' );
###############################################################################
#
# Example 4. Write an Excel file to a string via IO::Scalar. Please refer to
# the IO::Scalar documentation for further details.
#
my $xlsx_str;
tie *XLSX, 'IO::Scalar', \$xlsx_str;
my $workbook4 = Excel::Writer::XLSX->new( \*XLSX );
my $worksheet4 = $workbook4->add_worksheet();
$worksheet4->write( 0, 0, 'Hi Excel 4' );
$workbook4->close(); # This is required before we use the scalar
# The Excel file is now in $xlsx_str. As a demonstration, print it to a file.
open TMP, '>', 'fh_04.xlsx' or die "Couldn't open file: $!";
binmode TMP;
print TMP $xlsx_str;
close TMP;
###############################################################################
#
# Example 5. Write an Excel file to a string via IO::Scalar's newer interface.
# Please refer to the IO::Scalar documentation for further details.
#
my $xlsx_str2;
my $fh5 = IO::Scalar->new( \$xlsx_str2 );
my $workbook5 = Excel::Writer::XLSX->new( $fh5 );
my $worksheet5 = $workbook5->add_worksheet();
$worksheet5->write( 0, 0, 'Hi Excel 5' );
$workbook5->close(); # This is required before we use the scalar
# The Excel file is now in $xlsx_str. As a demonstration, print it to a file.
open TMP, '>', 'fh_05.xlsx' or die "Couldn't open file: $!";
binmode TMP;
print TMP $xlsx_str2;
close TMP;
__END__
|