in reply to Re^5: perl tk widget will not copy files
in thread perl tk widget will not copy files

I have used various versions of Perl ranging from 5.8 through 5.20 on Windows XP, Vista, 7 and 8.1 without having any issue using either \ or /, or indeed mixing them, as path separators for internal Perl file operations or for most Windows command line file operations.

There are Windows applications that don't play the game. msiexec is one of them as I found out while fixing a bug in our build and test system today. Maybe what you saw was nothing to do with Perl but happened in a context where you were using Perl?

Premature optimization is the root of all job security
  • Comment on Re^6: perl tk widget will not copy files

Replies are listed 'Best First'.
Re^7: perl tk widget will not copy files
by poj (Abbot) on Aug 12, 2015 at 09:45 UTC

    I found a problem with this some time ago Win 8.1 Perl 5.16.1

    #!perl use strict; use Win32::OLE::Const 'Microsoft Excel'; Win32::OLE->Option(Warn => 3); my $ex = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); my $wb = $ex->Workbooks->Open('c:/temp/Book1.xls') ; my $ws = $wb->sheets(1); my $cell = $ws->Cells(7,2); # b7 $cell->Borders(7)->{LineStyle} = xlNone; #left # save and exit # this works $wb->SaveAs( 'c:\\temp\\changedborder.xls' ); # this gives error #$wb->SaveAs( 'c:/temp/changedborder.xls' ); #C:\//' cannot be accessed. The file may be corrupted, located on a se +rver #that is not responding, or read-only. #in32::OLE(0.1709) error 0x800a03ec # in METHOD/PROPERTYGET "SaveAs" at borders.pl line 16.
    poj

      That's an Excel problem, not a Perl problem. The Windows system generally doesn't care about \ or /, but applications are often not as forgiving.

      Premature optimization is the root of all job security