2014-12-02 107 views
1

我试图拆分输入到一个WebForm一个$线发出使用CGI.pm阅读的Perl CGI参数(输入)

分割是“>”,我有它的命令行工作使用shift来获取文件到脚本中,但使用webform不起作用 - 即我没有输出。这个工程使用移位得到读取文件中的命令行,如下所示:

my $inFile = shift; 
open (IN, "$inFile"); 
$/ = ">"; 
while (my $record = <IN>) { 
chomp $record; 
my ($defLine, @seqLines) = split /\n/, $record; 
my $sequence = join('',@seqLines); 

但是,使用下面的代码中的CGI脚本不工作 - 我猜CGI脚本迫使$字符串?但我不知道如何着手

use CGI qw(:cgi-lib :standard); 
print "Content-type: text/html\n\n"; 
my $seq = param('sequence'); 
$/ = ">"; 
chomp $seq; 
my ($defLine, @seqLines) = split /\n/, $seq; 

任何建议,不胜感激

回答

2

你有什么文件:

local $/ = ">"; 
while (my $record = <IN>) { 
    chomp($record); 
    my ($defLine, @seqLines) = split /\n/, $record; 
    my $sequence = join('',@seqLines); 
    ... 
} 

等价的字符串:

for my $record (split />/, $sequence) { 
    my ($defLine, @seqLines) = split /\n/, $record; 
    my $sequence = join('',@seqLines); 
    ... 
} 
+0

我如何循环每个字符串$记录,类似于我将如何使用while(我的$记录= ) – neemie 2014-12-02 19:19:12

+0

Usin g我发布的代码。 – ikegami 2014-12-02 19:28:01