草庐IT

perl-critic

全部标签

windows - 如何在 Windows 上使用 Perl 从 STDIN 读取单个字符?

使用Perl,我如何从STDIN中捕获单个字符而不需要用户按回车键(类似于C的getch()函数)?Perl有一个getc()函数,但是根据perlfunc:However,itcannotbeusedbyitselftofetchsinglecharacterswithoutwaitingfortheusertohitenter.perlfunc文档do提供了一种使用getc()读取单个字符的方法,但它需要使用stty操作终端设置。我正在编写的脚本需要在Windows上运行(没有cygwin、msys等)——所以这不是一个选项。 最佳答案

windows - 在 Perl 脚本中播放声音

我正在尝试向Perl脚本添加声音以提醒用户事务正常(用户在工作时可能不会一直看着屏幕)。我希望尽可能保持可移植性,因为脚本可以在Windows和Linux站上运行。我可以useWin32::Sound;Win32::Sound::Play('SystemDefault',SND_ASYNC);适用于Windows。但我不确定如何在Linux(Gnome)上调用通用声音。到目前为止,我想出了system('paplay/usr/share/sounds/gnome/default/alert/sonar.ogg');但我不确定我是否可以指望这条可用的路径。所以,三个问题:有没有更好的方法

c - 是否有可以同时处理 C 和 Perl 的 Windows IDE?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我正在使用包括MinGW的GCC的StrawberryPerl,我也在使用GNU调试器GDB和Subversion。我怎样才能拥有适合它的单一开发环境(除了UltraEdit、命令shell和IE),我怎样才能进一步增强它的功能?

windows - 如何从我的 Perl 程序中设置 cmd.exe 窗口的大小?

我有一个在Windows中运行的Perl脚本,它会在屏幕上显示很长的行。我不想永久固定我的控制台大小。我只是希望它变大,以防该脚本正在运行。有没有办法从在此窗口内运行的Perl脚本中定义控制台的大小? 最佳答案 您可以使用mode命令设置正在运行的控制台的控制台大小:modeconlines=50cols=200更改只会持续到控制台窗口关闭。 关于windows-如何从我的Perl程序中设置cmd.exe窗口的大小?,我们在StackOverflow上找到一个类似的问题:

windows - 如何在 Perl 中编写 *filename* 包含 utf8 字符的文件?

我正在努力创建一个包含非ASCII字符的文件。如果使用0作为参数调用以下脚本,则它工作正常,但在使用1调用时终止。错误信息是open:InvalidargumentatC:\temp\filename.plline15。脚本在cmd.exe中启动。我希望它写入一个名称为(取决于参数)äöü.txt或äöü☺.txt的文件。但是我无法创建包含笑脸的文件名。usewarnings;usestrict;useEncode'encode';#Textisstoredinutf8within*this*file.useutf8;my$with_smiley=$ARGV[0];my$filenam

windows - 在 Windows 上对 Git Bash 使用 "perl6"命令

使用Windows,我安装了RakudoStar和Git,并确保C:\rakudo\bin和C:\rakudo\share\perl6\site\bin在我的Path环境变量中。现在,之后在GitBash中键入perl6会出现commandnotfound错误,虽然命令确实有效insidepowershell和cmd。在GitBash中键入echo$PATH再次确认上面的文件夹也在我的路径变量中。如何让perl6命令在GitBash中运行?注意:使用与perl6位于同一文件夹中的moar(moar.exe)在GitBash中同样有效。同时点击Tab显示moar的自动完成建议,它不会为p

windows - EWOULDBLOCK 相当于 Windows Perl 下的 errno

你好Stackoverflowers,我是Perl的autodie的作者pragma,它改变了Perl的内置函数以在失败时抛出异常。它类似于Fatal,但具有词法作用域、可扩展的异常模型、更智能的返回检查以及更好的错误消息。它将在Perl的future版本(暂时为5.10.1+)中取代Fatal模块,但目前可以从Perl5.8.0及更高版本的CPAN下载。下一个版本的autodie将使用LOCK_NB(非阻塞)选项添加对flock调用的特殊处理。虽然失败的flock调用通常会导致autodie下的异常,但使用LOCK_NB调用失败的flock将如果返回的错误号($!)是EWOULDBL

windows - 如何在不丢失模块的情况下在 Windows 上更新 Perl?

在工作中,我在Windows上使用Perl5.8.0。当我第一次安装Perl时,我去了CPAN,下载了所有源代码,做了一些更改(在.MAK文件(?)中以支持线程,或类似的东西),然后做了nmake/nmake测试/nmake安装。然后,一点一点地,我从CPAN下载了各个模块并完成了nmake舞蹈。所以,我想升级到更新的版本,但新版本不能破坏任何现有脚本。值得注意的是,我安装的一堆“使用”模块必须安装在新版本中。什么是更新我当前版本最可靠(也是最简单)的方法,确保我用nmake舞蹈所做的一切在更新后仍然存在? 最佳答案 正如其他人所说

windows - 我如何交付(分发)Perl 应用程序?

我用Perl写了一个程序,现在我想把它发给好友。我不想让他为启动它而烦恼。我如何制作一些他可以单击并准备好启动的软件包?附言。我可以让他事先下载并安装ActivePerl。PPS。我不需要对他隐藏.pl来源。我需要自动下载和安装所有必需的CPAN模块。此外,如果将来我需要扩展它以进行生产交付怎么办?也就是说,接收方不是好友,而是客户先生? 最佳答案 我用过pp取得了巨大的成功。它可以将Perl解释器和使用的模块一起打包成一个可执行文件。然后又总是B::C它提供了一个perlcc实用程序,但我没有那么幸运。

windows - 为什么我的 Perl 单行程序不能在 Windows 上运行?

在Windows命令提示符下,我生成了目录中所有文件的文本文件:dirc:\logfiles/B>config.txt输出:0001_832ec657.log0002_a7c8eafc.log我需要将“config.txt”文件提供给另一个可执行文件,但在此之前,我需要修改文件以添加可执行文件需要的一些额外信息。所以我使用以下命令:perl-p-i.bak-e's/log/log,XYZ/g'config.txt我期待的结果是:0001_832ec657.log,XYZ0002_a7c8eafc.log,XYZ但是,“config.txt”文件没有被修改。使用“-w”选项,我收到警告消