use warnings;
use strict;

use OLE;

my $excel = CreateObject OLE 'Excel.Application' or die $!;
$excel->{'Visible'} = 1;

my $workbook = $excel -> Workbooks -> Add;

$workbook -> ActiveSheet -> Range('A1')->{'Value'} = "Hello";

$workbook -> ActiveSheet -> Range('C2:D3')->{'Value'} = [ 
  ['one',   'two' ],
  ['three', 'four'],
];

$workbook -> SaveAs ('C:\\perl.xls') or die $!;

$excel -> Quit;