Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re^2: Bareword issue with Perl 5.34

by Anonymous Monk
on Oct 11, 2021 at 17:24 UTC ( #11137429=note: print w/replies, xml ) Need Help??

in reply to Re: Bareword issue with Perl 5.34
in thread Bareword issue with Perl 5.34

Thank you for your reply. I am starting to think that the issue is somewhere else. My .pl script should run both on macOS and on Windows. Obviously, when on it is run on macOS, the Win32::OLE should be skipped. I solved this like this:

use if $^O eq 'MSWin32', 'Win32::OLE'; if ( $^O eq 'MSWin32' ) { $Win32::OLE::CP = 'CP_UTF8'; }

Or compacter:

use if $^O eq 'MSWin32', 'Win32::OLE::CP' => 'CP_UTF8';

On macOS the scripts load correctly and Win32::OLE stuff is skipped. If I use the same without '' or any of your suggestions, I get the Bareword "CP_UTF8" error. Am I everseeing something?

Replies are listed 'Best First'.
Re^3: Bareword issue with Perl 5.34
by Corion (Patriarch) on Oct 11, 2021 at 18:18 UTC

    I think you want

    use if $^O eq 'MSWin32', 'Win32::OLE', 'CP' => 'CP_UTF8';

    That is still the "old" way of using Win32::OLE. The new way would be something like:

    use if $^O eq 'MSWin32', 'Win32::OLE'; if( $^O eq 'MSWin32' ) { Win32::OLE->Options( CP => 'CP_UTF8' ); # or maybe # Win32::OLE->Options( CP => Win32::OLE::CP_UTF8 ); }

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11137429]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2023-09-30 06:18 GMT
Find Nodes?
    Voting Booth?

    No recent polls found