2017-06-20 174 views
-3

我目前正在使用Perl语言创建一个在线工具的命令行应用程序。 共有九个模块(每个模块都有单独的Perl脚本)。如何将一个脚本的输出文件作为另一个脚本的输入文件?

命令行的申请应以下列way-

  1. 工作在这些九个模块的用户将能够选择任意数量的模块中。 (应该建立简短的管道)。

  2. 运行第一个选定的模块后,生成输出文件。

  3. 第一个模块的输出文件应该被用户选择的下一个模块作为输入文件。

我的疑问是我们如何才能将第一个模块的输出文件作为下一个选定模块的输入文件。 因为我是Perl编程的新手,所以如果你解决了我的疑问,这将会非常有帮助。 感谢你!

+0

使用管道:https://stackoverflow.com/questions/10765311/how-to-read-to-and-write-from-a-pipe-in​​-perl – Tamar

+1

请不要使用全部大写。它意味着... –

+0

欢迎来到StackOverflow。你需要更多地解释配对。请提供更多样本输入。强烈建议您参加此游览,并确定您应阅读[链接](https://stackoverflow.com/questions/how-to-ask)如何提问。 –

回答

0

添马舰是正确的。你可以使用pipe命令:“|”。无论您使用的是Windows还是基于Unix的操作系统,都可以执行此操作。

这里就是你正在做的一个简单的例子:

代码来输出数据 out.pl这需要输入文件 in.pl

#!/usr/bin/perl 

use strict; 
use warnings; 

my $gaspage = <STDIN>; 
chomp $gaspage; 
print $gaspage."\n"; 

#!/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; 
} 

代码然后你可以用下面的命令运行它,它可以在你的perl应用程序中运行,或者在终端中运行:

perl out.pl 
cat output.pl | in.pl 
相关问题