2014-12-02 88 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