我有一个需要在Windows和Linux上运行的Perl脚本。问题是我需要使用一个只适用于Windows的Perl模块。我已经尝试了下面的方法,但它仍然包含WindowsStuff包。usestrict;if($^Oeq'MSWin32'){useMy::WindowsStuff;}useFile::Basename;useGetopt::Long;...... 最佳答案 因为use在编译时生效,它不考虑正在编译的代码的普通流程控制。特别是,将use放在条件的假分支内并不会阻止它被处理。你能做什么?a)require导入(运行时):
我有一个需要在Windows和Linux上运行的Perl脚本。问题是我需要使用一个只适用于Windows的Perl模块。我已经尝试了下面的方法,但它仍然包含WindowsStuff包。usestrict;if($^Oeq'MSWin32'){useMy::WindowsStuff;}useFile::Basename;useGetopt::Long;...... 最佳答案 因为use在编译时生效,它不考虑正在编译的代码的普通流程控制。特别是,将use放在条件的假分支内并不会阻止它被处理。你能做什么?a)require导入(运行时):