草庐IT

perl-critic

全部标签

windows - Perl Net::SSH2 scp_put 放入文件然后挂起

我正在使用Net::SSH2的scp_put方法从Windows机器将一个文件放置在我在Unix服务器上的主目录中。我正在使用StrawberryPerl5.12(便携版)。我安装了libssh21.2.5二进制文件,然后从cpan安装了Net::SSH2。这是我的代码片段:subuploadToHost{my$file=@_[0];my$host=@_[1];my$user=@_[2];my$pass=@_[3];my$remotelocation=@_[4];#makesanewSSH2objectmy$ssh=Net::SSH2->new()ordie"couldn'tmakeS

windows - 为什么我在 Windows 上使用 Perl-Tk 构建复杂的 GUI 时遇到问题?

我有一个带有大约50个子窗口的Perl-TkGUI。在每个子窗口中大约有50个按钮和50个菜单(每个菜单有大约4个选项)。当我在UNIX/Linux/Solaris上运行它时,它运行得很流畅。当我在Windows上运行它时,GUI在加载过程中卡住,所以我只能看到一些按钮,或者GUI根本不显示—它似乎卡住了。perl进程使用了​​50000K的内存和100%的CPU使用率。但是当我关闭一些按钮/菜单并再次运行时—没问题。看来,Perl-Tk没有获得足够的内存来在Windows上加载GUI。有什么办法可以让它正常运行吗?是否有任何特殊的配置、标志来告诉windows给Perl-TK一些更多

windows - Perl Windows IPv6

我有一个使用TCP/IP套接字的Perl/Windows应用程序,我需要添加IPv6支持。我有一台运行IPv6的Windows764位机器,带有HurricaneElectric隧道,它在http://test-ipv6.com/上获得10分(满分10分)并将访问仅支持IPv6的站点,例如http://loopsofzen.co.uk/.它有ActivePerl5.14.2(我也试过StrawberryPerl5.16.0.1)。这是一个简单的测试脚本:useSocketqw(getaddrinfo);$host='loopsofzen.co.uk';$port=80;$hints=(

windows - Windows 上带有 perl 的 IPv6 无法正常工作

交叉发布http://perlmonks.org/index.pl?node_id=984750(可能与perlwindowsIPv6重复)我尝试了以下示例示例:https://metacpan.org/module/IO::Socket::IPuseIO::Socket::IP-register;my$sock=IO::Socket->new(Domain=>PF_INET6,LocalHost=>"::1",Listen=>1,)ordie"Cannotcreatesocket-$@\n";print"Createdasocketoftype".ref($sock)."\n";输出

windows - Windows 与 Linux/UNIX 中 Perl 的 waitpid() 和 IPC::Open2

下面的代码在Linux上运行完美,但是当我把它放在Windows机器上时,一切都乱套了:$pid=open2($my_reader,$my_writer,"$JAVACALL$PARSER_CP$PARSER_CMD-");$my_reader->autoflush(1);$my_writer->autoflush(1);print$my_writer"$line\n";close($my_writer);my$tree=;chomp($tree);push@parse_trees,$tree;close($my_reader);waitpid($pid,0);在Windows中,它只

windows - 调用 ssh2 命令的 Perl 脚本无法在 Windows 任务计划程序中取回输出

我可以毫无问题地从命令行运行Perl脚本,但是当我尝试使用Windows任务管理器(64位Windows2008Server)自动执行此任务时,SSH/SSH2的输出无法写入输出文件。它是一个perl脚本,它执行如下操作:my$DB_FILE1=$PATH."\\FSBusinessUtil_".$hostfqdn.$DATE;open(OUTFILE,">$DB_FILE1")ordie"Couldnotopendatafile";printOUTFILE"FilesystemInfo\n";my$output1=`$SSH_PATH\\ssh$user\@$hostnameNAS_

windows - 为什么 perl testing dir -d ""在 Windows 上返回 true?错误与否?

对于在Windows上测试空格字符串目录时perl返回true有什么解释吗?在Windows7上运行:perl-e"printqq{found\n}if-dqq{}"你会得到输出:found但相同的perl代码在Linux上返回false。在Windows上的perl5.8和strawberryperl5.18上测试这是一个错误还是有一个非常规的推理? 最佳答案 在Windows下,任何在内部尝试测试文件或目录是否存在的perl操作都使用Win32函数CreateFile。在Windows下,以空格结尾的文件名是不合法的(尽管没有明

windows - Perl 脚本无故挂起

所以我有这个小脚本,它检查两个日志文件中的特定行并比较这些行。该脚本用于多个不同的WindowsBamboo代理。但是在其中一个它只是挂起并且不会退出。由于该脚本在bamboo中使用,因此当该脚本不退出时,整个作业都会挂起。当我通过远程访问检查计算机并终止脚本时,作业会继续,直到它再次到达脚本。这是脚本,由另一个脚本启动。#!/usr/bin/perlmy$naluresult=2;my$hevcresult=2;my$hevcfailed=0;usestrict;usewarnings;#---------------------------------------------#ch

windows - 为什么 perl 看不到 Windows 中存在的文件?

在我同事的一台机器上,如果你只是寻找java,你可以找到它:c:\>wherejavaC:\Windows\system32\java.exe但是,如果我用perl做这个测试:c:\>perl-e"print(-e'c:\\windows\\system32\\java.exe'?'found':'notfound')"notfound(这在我的机器上运行良好)。我听说过某种奇怪的缓存,文件会在其中进行假安装,因此它们可以正常工作,但我不知道它可以被称为什么,而且我在google上搜索也没有任何帮助。 最佳答案 正如AndrewMe

windows - 将备份文件保存到 Perl 就地编辑中的自定义目录

我已经有一个perl文件changes.pl。我可以通过cmd命令运行changes.pl。我正在寻找将备份文件保存到特定目录的方法。我试过使用cmd命令1和2。但是,我从运行两者中的任何一个得到结果。changes.plBEGIN{@ARGV=mapglob("\"$_\""),@ARGV;}s/a/b/g;s/c/d/g;s/e/f/g;cmd命令perl-i.bak-pchanges.plMy/Files/Directory/*.txtcmd命令1perl-i"save/*"-pchanges.plMy/Files/Directory/*.txtcmd命令2perl-i.bak-