私はまだPERLの初心者です。以下のようなプログラムを使っています。(しか作れません)ご指導いただければ幸いです。

#! /usr/local/bin/perl
# CQ_search.cgi

require "ReadKdata.pl";

$nkfcmd = "/home/usr7/nagayama/bin/nkf -s";

%indata = &ReadKdata(); # Formから得たデータを連想配列に読み込む
$pattern1 = $indata{'name1'};
$pattern2 = $indata{'name2'};
$xx = $indata{'name3'};
$match = 0;

open(R,"CQ.txt");
while(<R>) {
if ($xx eq "2") {
if ((/$pattern1/io) || (/$pattern2/io)) {
$x[$match]=$_;
$match++;
}
}
else {
if ((/$pattern1/io) && (/$pattern2/io)) {
$x[$match]=$_;
$match++;
}
}
}
close(R);

open(PJIS, "| $nkfcmd");
print PJIS "Content-type: text/html\n\n";
print PJIS "<html>\n";
print PJIS "<head><title>検索結果</title></head>\n";
print PJIS "<body>\n";
print PJIS "<h1>検索結果</h1>\n";
print PJIS "$match件データがありました。<br>\n";
print PJIS "表示を途中で止めたい時は、「Back」して下さい。<br>\n";
for($i=0;$i<$match;$i++){
$_=$x[$i];
s/\n//g;
split(/,/,$_);
print PJIS "<hr>\n";
print PJIS "    種類:$_[0]<br>\n";
print PJIS " タイトル1:$_[1]<br>\n";
print PJIS "     2:$_[2]<br>\n";
print PJIS "掲載年(号):$_[3]<br>\n";
print PJIS " 掲載ページ:$_[4]<br>\n";
print PJIS "   筆者名:$_[5]<br>\n";
}
print PJIS "</body></html>\n";
close(PJIS);