2017-05-18 10 views
1

ここに私のコードと出力はありますが、私はperlを使って私の行ごとに異なる行を作成することができませんでしたか?ここでperl cgiを使用して私のperl出力用のテーブルを作成するには?

が私のコードです:

use strict; 
    use warnings; 
    use CGI; 
    open(my $file1,"as.txt"); 
    my $firstline=<$file1>; 
    $firstline=~s/.*=//g; 
    my @words=split /,/,$firstline; 
    my $finalline=join("\n",@words); 
    close $file1; 
    print "Content-type:text/html\n\n" 
    print<<"EOF"; 
    <html><body> 
    <table style="width:100%"> 
    <tr> 
    <th>UserName</th> 
    <th>Access</th> 
    </tr> 
    <tr> 
    <td>$finalline</td> 
    <td> 
    <input type="checkbox" value="check2" mulitple checked>Read 
    <input type="checkbox" value="check2" mulitple>Write 
    <input type="checkbox" value="check2" mulitple>Owner 
    </td> 
    </tr> 
    </table></body></html> 
    EOF 

PERL(IE $ finalline) Sankarの morien3

FOR MY OUTPUT私は、表形式での私の出力として、以下の表を得た:

UserName Access 
sankar morien3 Read Write Owner 

期待される出力:

UserName Access 
sankar Read Write Owner 
morien3 Read Write Owner 

入力ファイル:(すなわちas.txt)

cskTeam = sankar, mobrien3 
[csk:/] 

* = r 
@cskTeam = rw 
+0

入力ファイルを追加してください。 – mkHun

+0

入力ファイル@ mkHun –

+0

あなたの質問に回答が追加されました。 – mkHun

答えて

0

あなたは、HTMLのレイアウトがどのように機能するかを知っている必要があります。

あなたのコードでも、期待した結果が端末に表示されません。

htmlの\nでは意味がありません。<br> htmlの改行用です。しかし、このロジックもあなたのコードでは動作しません。

\nで配列に参加し、データを印刷すると、コメント行が実行されます。

まずそれが結果ので、あなたが$finalline変数を印刷しているが

sankar \n morien3 

\ nはHTMLで考慮されませんです。 <td>

次に、パーミッションの詳細を保持する別のセルを作成しています。

最後に、コードは次のとおりです。

#!/usr/bin/perl 
use warnings; 
use strict; 
use CGI; 

use CGI::Carp qw(fatalsToBrowser); 

print "Content-Type: text/html \n\n"; 


open my $file1,"<","as.txt"; 
my $firstline=<$file1>; 
$firstline=~s/.*=//g; 
my @words=split /,/,$firstline; 
close $file1; 


print<<"EOF"; 
<html><body> 
<table style="width:50%; "> 
<tr> 
<th style="text-align:left">UserName</th> 
<th style="text-align:left">Access</th> 
</tr> 
EOF 
foreach (@words) 
{ 
print <<EOF; 
<tr> 
<td>$_</td> 
<td> 
<input type="checkbox" value="check2" mulitple checked>Read 
<input type="checkbox" value="check2" mulitple>Write 
<input type="checkbox" value="check2" mulitple>Owner 
</td> 
</tr> 
EOF 
} 
print <<EOF; 
</table></body></html> 
EOF 
+0

あなたのスクリプトは同じ行を2行で表示します。私の予想される出力@ mkhunと同じように印刷されません。 –

+0

これはうまく実行されます。@ mkhun –

+0

@srvvani [this]のようなPerl-cgiスクリプトperldoc.perl.org/CGI.html)、コード内に[fataltobrowser](http://perldoc.perl.org/CGI/Carp.html)も追加してください。 – mkHun

関連する問題