我有一个在Ubuntu中运行的脚本,但我想在Windows中运行它。我知道如何执行它我只是不知道我的脚本有什么问题导致它无法运行。#!/usr/bin/perlusestrict;usewarnings;useIO::Compress::Zipqw(zip$ZipError);useFile::Find;my@files=;zip[@files]=>'Desktop/output.zip'ordie"zipfailed:$ZipError\n";unlinkglob"'C:\Windows\*.log'";print"Thejobisdone\n"; 最佳答
嗨,StackOverflow的friend们,我在Windows平台;我有一个数据文件,但发生了一些错误,(我不知道为什么)“回车+换行”的所有组合都变成了“回车+回车+换行”,(190128edit:)例如:当以纯文本形式查看文件时,它是:以十六进制方式查看同一个文件时,是:出于实际目的,我需要删除双“0D”中多余的“0D”,例如“....30300D0D0A3030....”,并将其更改为“....30300D0A3030....”。190129编辑:此外,为了确保我的问题可以重现,我将我的数据文件上传到GitHub的URL(应该在使用前下载并解压缩;在二进制\十六进制编辑器中你
我在KomodoEdit中使用ActiveStateperl。我收到以下错误。Can'tlocateMyGengo.pmin@INC(@INCcontains:C:/Perl/site/libC:/Perl/lib.)atD:\oDesk\MyGengoIntegration\sampleline6.为什么解释器在C:/Perl/lib而不是C:\Perl\lib中查找?它不知道它是Windows而不是Linux吗?编辑我通过复制C:\Perl\lib目录中的.pm文件解决了这个问题。我想,这个问题是因为这个模块是手动下载的。PPM安装会将.pm文件复制到lib目录。
我正在尝试读取与Perl脚本相同目录中的文件作为输入,并在Windows中使用Perl从中读取。代码:$inputFile=getcwd."/".;open(FILE,chomp($inputFile))ordie"Cannotopen$inputFile:$!\n";@lines=;print"@lines\n";我得到的错误是:C:/DocumentsandSettings/username/workspace/test.plNosuchfileordirectory即使那个文件确实以那个确切的形式存在于那个确切的目录中。我也试过将“文档和设置”放在引号中。
我有一个Perlone-liner它将读取一个文件并删除每行的第一个字段,以逗号分隔并转储其余部分。perl-wan-e'for(@F){if(/(aaa),(.*)/){$text=$2;$text=~s/$1//;print"$text\n";}}'其中aaa在每行的第一个字段中。这在Linux中运行良好,但在Windows中会引发错误:Can'tfindstringterminator"'"anywherebeforeEOFat-eline1.`为什么它的行为不同? 最佳答案 您可能想使用双引号而不是单引号。这可能会对引用的文
你好stackoverflowers,恐怕我不知道如何在perl的Windows资源管理器中打开带空格的UNC路径。目的是,我希望用户在路径中放置一个文件。为了让它更舒适,路径应该自动在资源管理器中打开。它适用于任何本地驱动器。应该打开的UNC路径是:\\srvr1\meanspacedir到目前为止我的代码:usestrictusewarningsmy$sourceDir="\\\\srvr1\\meanspacedir";system("start$sourceDir");这给出了错误:“Win无法访问\\srvr1\mean。”好的,所以我尝试引用字符串:my$sourceDir
我正在尝试用perl发送电子邮件。我的代码在linux上运行没有错误。但是当我在WindowsServer2008r2上运行我的代码时,perl系统:Couldn'tstartTLS:SSLversionSSLv3notSupported.我的perl代码:#!/usr/bin/perluseNet::SMTP::TLS;use5.010;my$mailer=newNet::SMTP::TLS('smtp.mail.yahoo.com',Hello=>'smtp.mail.yahoo.com',Port=>587,User=>'someEmail@yahoo.com',Password
我正在尝试在Windows上使用cpan安装Net::SSH2。我无法安装并收到以下错误:警告:命令未成功[C:\Perl\bin\perl.exeMakefile.PLINSTALLDIRS=site]SALVA/Net-SSH2-0.69.tar.gzC:\Perl\bin\perl.exeMakefile.PLINSTALLDIRS=site--不正常有谁知道我为什么会收到此错误。任何帮助是极大的赞赏。整个输出通过以下屏幕截图发布: 最佳答案 为ActivestatePerl编译Net::SSH2不是一件容易的事。幸运的是,S
我正在使用批处理脚本在Windows上执行perl脚本。我在批处理脚本中设置以下变量:SETPATH_VAR=C:\Users\我可以在perl中访问PATH_VAR,如下所示:my$path1=$ENV{'PATH_VAR'}我还想将perl中设置的环境变量导出到批处理。就像我现在所做的相反。有办法吗?附言:我试过这个,但它不起作用:$ENV{'PATH_Z'}="HelloWorld"; 最佳答案 对环境变量的更改不会影响父进程,这是它们工作方式的一部分,因此您在Perl脚本中所做的任何事情都不会更改批处理脚本的环境变量。但是,
我有一个Perl脚本,它通过Win32::Process在新控制台中启动另一个Perl脚本如下:Win32::Process::Create($ProcessObj,"C:\\Perl\\bin\\perl.exe","$path_to_other_perl_script",0,NEW_CONSOLE,".");$ProcessObj->Suspend();$ProcessObj->Resume();$ProcessObj->Wait(0);问题是,在创建的新控制台中没有标准输出。如果我不使用新的控制台选项,脚本会在后台静默运行。如果我使用cmd.exe启动Perl脚本,我可以很好地看