use strict; use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Excel'; $Win32::OLE::Warn = 3; # die on errors... my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); # get already active Excel # application or open new my $Book = $Excel->Workbooks->Open("25.xls"); # open Excel file my $Sheet = $Book->Worksheets('Test1'); # select worksheet number 1 my $array = $Sheet->Shapes("TextBox1")->{"Caption"}; ; # get the contents $Book->Close; foreach my $ref_array (@$array) { # loop through the array # referenced by $array foreach my $scalar (@$ref_array) { print "$scalar\t"; } print "\n";