我目前正在开发一个项目,我在使用Perl语言创建一个在线工具的命令行应用程序。 共有九个模块(每个模块都有单独的Perl脚本)。
此命令行应用程序应按以下方式工作 -
在这九个模块中,用户可以选择任意数量的模块。 (应该建立简短的管道)。
生成输出文件。
第一个模块的输出文件应该被用户选择的下一个模块作为输入文件。
我怀疑的是我们如何将第一个模块的输出文件作为下一个选定模块的输入文件。 如果你解决我的疑问,那将是一个很大的帮助,因为我是Perl编程的新手。 感谢您!
答案 0 :(得分:0)
添马舰是对的。您可以使用管道命令:" |"。无论您是使用Windows还是基于unix的操作系统,都可以执行此操作。
以下是您正在做的事情的简单示例:
输出数据的代码 out.pl
#!/usr/bin/perl
use strict;
use warnings;
my $file = "output.txt";
my $data = "gasp";
unless(-e $file){
open(my $fh, '>', $file);
print $fh $data;
close $fh;
}
获取输入文件的代码 in.pl
#!/usr/bin/perl
use strict;
use warnings;
my $gaspage = <STDIN>;
chomp $gaspage;
print $gaspage."\n";
然后您只需使用以下命令运行它,这些命令可以在您的perl应用程序中运行,也可以只在终端中运行:
perl out.pl
cat output.pl | in.pl