如何执行 perl 程序以及通过相同的 Windows 批处理文件给用户输入
Posted
技术标签:
【中文标题】如何执行 perl 程序以及通过相同的 Windows 批处理文件给用户输入【英文标题】:How to execute perl program as well as give user input via same Windows batch file 【发布时间】:2014-04-05 08:14:32 【问题描述】:我的批处理文件如下所示:
perl program.pl
input.txt
我的 perl 程序通过用户输入请求输入文件。但是当我运行我的批处理文件时,它只是启动一个 perl 程序,但不会在下一行自动提供 "input.txt" 作为用户输入。 如何完成。
【问题讨论】:
您可以考虑更改您的 Perl 程序以查看它是否以参数启动,并使用该参数(如果指定)作为文件名而不询问用户。然后你可以做'perl program.pl input.txt' 【参考方案1】:以这种方式“执行”您的批处理文件:
cmd < theFile.bat
更多详情,请参阅this post。
【讨论】:
【参考方案2】:echo input.txt|perl program.pl
在您的批处理文件中,您有两个命令。一个用于启动 perl 程序,另一个用于打开 input.txt 文件。每行一个命令。
如果您希望批处理文件将字符串input.txt
发送到perl 程序,请使用echo
命令将字符串发送到stdout,并将stdout 通过管道传输到perl 程序的stdin。
【讨论】:
用这个衬垫测试过:echo testing| perl -e "$_=<>;chomp;$_=reverse$_;print qq$_\n"
以上是关于如何执行 perl 程序以及通过相同的 Windows 批处理文件给用户输入的主要内容,如果未能解决你的问题,请参考以下文章
Perl 和 Unix 如何以相同的顺序对 Unicode 字符串进行排序和排序?