草庐IT

windows - 如果目录已经存在,mkpath 会失败吗?

我正在尝试调试friend机器上的问题。我写了一个脚本来复制一些文件,脚本使用了mkpath(我知道mkpath已经过时了,现在有make_path,但我使用的是旧版本的perl)。在我的机器上(使用相同版本的perl和操作系统等)脚本即使在目录已经存在的情况下也能正常运行。但是,当我尝试在我friend的机器上运行该脚本时,在已存在的目录上调用mkpath时会抛出错误!它抛出的错误是“mkdir:文件存在”我很困惑为什么脚本可以在我的机器上运行,但在他的机器上不能运行。谢谢法里德编辑添加更多有用的信息好的,这里还有一些东西可以帮助诊断这个问题我们使用相同版本的Perl和File。两者

windows - 如何远程连接到网络中的另一台windows机器并从该机器获取操作系统信息? (Telnet 除外)

我被指派编写一个Perl脚本,其中我必须连接到网络上的另一台Windows机器,然后获取该机器的操作系统名称和版本。我使用Perl的NET::Telnet成功实现了这一点模块。但由于默认情况下Telnet未安装在Windows上,因此它将成为运行我的脚本的先决条件,而我的TL不希望这样。任何人都可以建议我一些方法来使用Windows默认安装的一部分(如rpc)来执行此操作。如果建议的方法也适用于unix、MAC或HP机器,那就太好了。 最佳答案 在Windows系统上远程获取配置信息通常是通过查询WMIdata(WindowsMan

windows - 在 Windows 上的 Perl 中获取当前系统本地编码

我需要根据系统本地设置获取当前编码。我正在寻找以这种方式工作的功能:my$sysEncoding=getSystemEncoding();#andnow$sysEncodingequalse.g.'windows-1250'我在网上到处找。我只找到了模块PerlIO::locale。但我认为系统编码应该在没有额外模块的情况下更容易被识别。 最佳答案 Encode::Locale提供了处理此问题的方法。 关于windows-在Windows上的Perl中获取当前系统本地编码,我们在Stac

windows - 在 Windows 上构建 perl 5.14.2 - 出现错误 NMAKE : fatal error U1077: miniperl. exe':返回代码 '0x1'

在Windows上构建perl5.14.2-出现错误NMAKE:fatalerrorU1077:miniperl.exe':在从perl源下的win32文件夹运行“nmake-logo”后调用以下命令时返回代码“0x1”。../miniperl.exe-I../lib../make_ext.pl"MAKE=nmake-nologo"--dir=../cpan--dir=../dist--dir=../ext--nonxs有没有人遇到过这个问题?请告诉我 最佳答案 与Mac和Unix不同,Windows没有安装C编译器。因此,如果没有

windows - perl on win2003 (strawberry perl) - 如何获取当前带宽使用情况?

标题几乎说明了一切。是否可以通过perl脚本(使用strawberryperl)在windows2003中获取当前带宽使用情况? 最佳答案 我很少使用Windows,目前无法访问Windows计算机,但您应该能够使用WMI/WQL来获得所需的东西。此发行版为WMI提供了一个DBI接口(interface):https://metacpan.org/release/DBD-WMI正确的查询应该是SelectName,currentbandwidthFROMWin32_PerfFormattedData_Tcpip_NetworkInt

windows - Perl system() EXE 权限?

我对在Windows上运行Perl有点陌生,在尝试运行avrdude.exe将HEX文件上传到Atmel微Controller时,系统命令出现了一些问题。这些是我用来执行命令的Perl命令:$AVR_CMD="\"".$AVR_DUDE."\""."-C"."\"".$AVR_DUDE_CONF."\"";$AVR_CMD.="-v-v-v-v-patmega2560-cstk500v2";$AVR_CMD.="-P\\\\.\\".$PORT;$AVR_CMD.="-b115200-D-Uflash:w:"."\"".$HEX_FILE."\"".":i";system($AVR_C

windows - 运行 cgi 程序时 Apache 服务是否有连接/内存限制?

我正在尝试在Apache2.0/2.2/2.4上同时运行数百个cgi程序(perl或其他语言)。我的测试环境是WindowsServer2003R2,内存为1GB。在程序中,我使用无限循环或“$_=”让每个进程保持事件状态。在Apache配置中,我将所有相关配置设置得足够大,例如ThreadPerChild设置为1000。然后我使用JMeter测试200个请求。当我在控制台应用程序中运行Apache时,它​​工作正常并且所有200个cgi进程都在运行。但是,当我将Apache作为Windows服务运行时,只有60-100个进程会并发运行。除非我杀死任何正在运行的进程,否则其他人不会启动

windows - 在网络驱动器上的文件中搜索字符串的最佳方法

这是我的问题:我们有一个文件服务器(Windows2003),人们不断在上面放置包含PII的表单。现在的政策是,我们的文件服务器上的任何表格都不再允许个人SSN的最后4位。我正在尝试找出一个脚本来扫描文档中的字符串,例如“SSN”或“LastFour”,我所能找到的只是关于如何在本地机器上搜索文本文件的说明/示例。我见过很多与此类似的线程,但主要是在本地文件夹中搜索txt文件。我见过这样做的powershell脚本,但是(不要问为什么)我们的服务器上禁用了powershell脚本。这可能吗?我一直在大量阅读多本Perl书籍,希望能找到线索或让我朝着正确的方向前进,但运气为0。

windows - 使用 Strawberry Perl 5.16.2.2(64 位)安装模块

我以前用的是activestateperl,但是现在改用strawberryperl,因为我想安装那些不太常用的包。但是,我在Windows7上使用StrawberryPerl5.16.2.2(64位)安装模块时遇到问题。安装StrawberryPerl后,我确认perl工作正常(引用1)。但是安装模块是另一回事。根据README,“2.从http://www.cpan.org/安装额外的perl模块(库)c:\>cpanModule::Name"但这就是我得到的:C:\>cpanCan'tlocateApp/Cpan.pmin@INC(@INCcontains:/usr/lib/pe

windows - 如何将打开的 TCP 套接字作为标准输入和标准输出从 Perl 传递到 Windows 应用程序

我正在尝试将来自Perl程序的开放式TCP套接字连接作为stdin和stdout传递到Windows上的外部应用程序,类似于Unix世界中的inetd。我尝试过的:使用open或POSIX::dup2并调用exec将stdin和stdout替换为套接字:#$socketisanopenTCPsocketopenSTDIN,'&',$socketordie"Unabletodupstdout:$^E";close$socket;exec($program)ordie"Unabletoexec$command:$^E";使用IPC::open3:my$pid=open3('>&'.$soc