use strict; use warnings; use Win32::OLE; my $xl = Win32::OLE->new('Excel.Application'); $xl->{Visible} = 1; my $wb = $xl->Workbooks->Add; for my $nSht (2..$wb->Sheets->{Count}) { $wb->Sheets(2)->Delete; } my $sht = $wb->Sheets(1); $sht->Cells(1, 1)->{Value}="a b"; $sht->Cells(2, 1)->{Value}="a c"; $sht->Cells(3, 1)->{Value}="ab c"; $sht->Range("A1:A3")->TextToColumns({ Destination => $sht->Range("A1"), Space => 1, });