use strict; my $excel = 'c:/Programs/Microsoft Office/Excel/excel.exe'; my $file = "c:\\path\\to\\my test.xls"; # note that Excel might want the filename delimited # with backslashes system( $excel, $file ) == 0 or die "Couldn't start Excel: $^E / $! / $?"; #### use strict; my $file = "c:\\path\\to\\my test.xls"; # note that cmd.exe wants the filename delimited # with backslashes system( 'start', $file ); #### use strict; use Win32::OLE; my $excel = Win32::OLE->new( 'Excel.Application' ); my $file = "c:\\path\\to\\my test.xls"; $excel->Open( $file ); # or so I believe. Use the Macro Recorder to find out # what the function names are actually called