当我在cgi perl上工作时,我正在尝试对齐两个序列并打印它们在网页上的输出,但这部分可能存在一些问题,因为我没有得到我想要的网页输出格式。如果我试图在一个txt文件上打印这个输出,那么它就会以我想要的方式出现。
代码有问题
print "[$id]n";
print "Length = $Mnn";
print "Score = $bitS bits ($S), Expect = $Evaln";
print "Identities = $matchnum/$totlen ($ipct%), Positives = $sim/$totlen ($Ppct%), Gaps = $gapnum/$totlen ($Gpct%)nn";
print "Query ";
print "$_"foreach @align1;
print "n";
print " ";
print "$_"foreach @homol;
print "n";
print "Sbjct ";
print "$_"foreach @align2;
print "nnn";`
input1 YLGGAILAEVIGTTLMKFSEGFTRLWPSVGTIICYCASFWLLAQTLAYIPTGIAYAIWSG
input2 MKWLILVLGILSNASASVLVKYAMLPPRRFPSLADPMAALSNWPFWLGLALYGGAFLLYA
输出应该像这样:
Score = 82.4 bits (202), Expect = 3.973330e-025
Identities = 40/40 (100.0%), Positives = 40/40 (100.0%), Gaps = 0/40 (0.0%)
Query MTDTTLPPGGDAADRVEPVDIQQEMQRSYIDYAMSVIVGR
||||||||||||||||||||||||||||||||||||||||
Sbjct MTDTTLPPGGDAADRVEPVDIQQEMQRSYIDYAMSVIVGR
就像在我的网页上一样,我以这种方式进入
Score = 82.4 bits (202), Expect = 3.973330e-025 Identities = 40/40 (100.0%), Positives = 40/40 (100.0%), Gaps = 0/40 (0.0%) Query MTDTTLPPGGDAADRVEPVDIQQEMQRSYIDYAMSVIVGR |||||||||||||||||||||||||||||||||||||||| Sbjct MTDTTLPPGGDAADRVEPVDIQQEMQRSYIDYAMSVIVGR
返回的是什么内容类型的页眉?如果您告诉浏览器期待HTML,那么它将把您的数据解释为HTML并忽略任何空白(包括换行符)。
如果你发送的是纯文本,那么你应该发送的内容类型为text/plain
您要输出的不是.txt文件,而是HTML,因此必须输出HTML标记,如
和& lt; pre>正确地组织它。将整个输出用
标签应该让你得到你想要的,在这里,即添加:print "<pre>n";
开头,
print "</pre>n";
结尾,最好加上完整的<和&>
感谢paul-griffiths和Dave Cross分享你们的知识。正如早些时候我使用<Br>
和<p>
标签,但我在显示对齐时遇到了同样的错误…最后,用<pre>
标签解决我的问题....再次感谢....