私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

スレッド

└◇1851:
Re[9]:カードトレードと、カード画像の実装を目指して… [YOUME] 08/15 19:58

 └◇1852:Re[10]:カードトレードと、カード画像の実装を目指して… [moon] 08/15 22:19
  └◇1853:Re[11]:カードトレードと、カード画像の実装を目指して… [YOUME] 08/16 16:08
   └◇1855:Re[12]:カードトレードと、カード画像の実装を目指して… [moon] 08/16 21:42
    └◇1857:Re[13]:カードトレードと、カード画像の実装を目指して… [YOUME] 08/16 21:49
     └◇1859:Re[14]:カードトレードと、カード画像の実装を目指して… [moon] 08/16 22:00<-last


1851● Re[9]:カードトレードと、カード画像の実装を目指して…[ YOUME ] 2015 08/15 19:58
ご教授ありがとうございます!
つ、ついにカードごとの画像を出せるようになりました!!!
本当にありがとうございます!!!
理想のカードコレクション画面が出せるように調整していきたいと思います!


そして、0行の件につきまして…

> sub file_in_afterで「&joinitem('iF');」が行われていないか、sub joinitemが変更されていない場合にこのようになりそうですので、これらを確認してみてください。

ご指摘通り、# Sub File In After #に、&joinitem('iF');がありました!

無ければ良いのかな?と思い

# Sub File In After #
sub file_in_after{
@rcdlines = &get_user("$Fm{'id'}");
return if $fg ne 'FIBB';
@collines = &get_coll("$Fm{'id'}");
&splititem('iF');
foreach (0 .. $#items) {
($item,$sts) = split(/△/,$items[$_]);
$filebag = 1;
if ($Fm{"$_"}) {
my $tmpflg=0; ##
foreach $tmp (@fitems) {
($tmpitem,$tmpsts) = split(/△/,$tmp);
if ($tmpitem eq $item) {$tmpflg=1;}
}
if (!$tmpflg) {
$fco++;
push (@fitems,"$item△$sts");
push (@msg,"$itemをファイルに入れました。");
$fbg .= ",$item△$sts"; #(4/8)修正
$filebag = 0;
} else { push (@msg,"既に「$item」はファイル内に存在します。") }
}
if ($filebag) { push(@newitems,$items[$_]); }
}
@items = @newitems; #&joinitem('iF');
$fg = ''; &userout; &fileout;
}

としてみたのですが、0行は生成されてしまうままで…
別の表記にした方が良いのでしょうか?


また、これとは別件なのですが…

現状だとカードデュエルがプレイヤーと行えないので、
これをデッキを持っているプレイヤーが相手でもデュエルできるようにしたいなと思い始めました。

理想は、プレイヤーと接触した際に、相手とデュエルできるようにしたいとは思いつつ…
ただデュエルできる場所が隔離された場所で実行されてるので、デュエルする相手をデッキを持っているプレイヤーからプルダウンで選ぶか、NPCにするかを選択できるようにしたほうが良いのかな…とも思いつつ…

現状のデュエルバトルシステムがduel.pl内にある下記の部分に相当しているのですが

# バトルシステム #
sub battle_duel {
    $reid = $Fm{'id'};
    &read_dc;
@cardlines = &get_card("$Fm{'id'}");
&splitcard('c');
&mcard_dat;
        $catm = $cat1+$cat2+$cat3;
$battle_mn = $catm * 5;
if ($mn < $battle_mn) { &duel_error("お金が足りません。");}
$mn = $mn - $battle_mn;
    &write_dc;
    open(IN,"$pcard_d");
    @PCARDD = <IN>;
    close(IN);
    $eld = @PCARDD;
    srand;
    $rnd = int(rand($eld));
    ($dekkinm,$wn_point,$pcd1,$pcd2,$pcd3) = split(/<>/,$PCARDD[$rnd]);
    &splitcard('C');
    &pcard_dat;
        $pcatm = $pcat1+$pcat2+$pcat3;
    $pcom_nm = "なっしんぐ";$com_nm = "なっしんぐ";
    &go_combo;
    &go_combop;
&header;
&table_top;
&msg;
#先鋒戦#
$zokusei1 = 0;
$pzokusei1 = 0;
if (($cds1 =~ /C0/) && ($pcds1 =~ /C1/)) { $pzokusei1 = "1"; } #自分火<相手水
if (($cds1 =~ /C1/) && ($pcds1 =~ /C0/)) { $zokusei1 = "1"; } #相手火<自分水
if (($cds1 =~ /C1/) && ($pcds1 =~ /C2/)) { $pzokusei1 = "1"; } #自分水<相手雷
if (($cds1 =~ /C2/) && ($pcds1 =~ /C1/)) { $zokusei1 = "1"; } #相手水<自分雷
if (($cds1 =~ /C2/) && ($pcds1 =~ /C3/)) { $pzokusei1 = "1"; } #自分雷<相手土
if (($cds1 =~ /C3/) && ($pcds1 =~ /C2/)) { $zokusei1 = "1"; } #相手雷<自分土
if (($cds1 =~ /C3/) && ($pcds1 =~ /C4/)) { $pzokusei1 = "1"; } #自分土<相手風
if (($cds1 =~ /C4/) && ($pcds1 =~ /C3/)) { $zokusei1 = "1"; } #相手土<自分風
if (($cds1 =~ /C4/) && ($pcds1 =~ /C0/)) { $pzokusei1 = "1"; } #自分風<相手火
if (($cds1 =~ /C0/) && ($pcds1 =~ /C4/)) { $zokusei1 = "1"; } #相手風<自分火
if ($cds1 =~ /C5/) { $zokusei1 = "1"; } #自分天
if ($pcds1 =~ /C5/) { $pzokusei1 = "1"; } #相手天
if ($cds1 =~ /C6/) { $zokusei1 = "2"; } #自分冥
if ($pcds1 =~ /C6/) { $pzokusei1 = "2"; } #相手冥
    $bat1 = $cat1 + $zokusei1 + $combo1 - $pcombo1;
    $pbat1 = $pcat1 + $pzokusei1 + $pcombop1 - $combop1;
        if ($bat1 > $pbat1) { $bwin1 = "1"; $pbwin1 = "0"; $result1 = "<font color=blue>$cdn1の勝利!!"; }
        elsif ($bat1 < $pbat1) { $bwin1 = "0"; $pbwin1 = "1"; $result1 = "<font color=red>$pcdn1の勝利!!"; }
        else { $bwin1 = "0"; $pbwin1 = "0"; $result1 = "<font color=gray>引き分け</font>"; }
#中堅戦#
$zokusei2 = 0;
$pzokusei2 = 0;
if (($cds2 =~ /C0/) && ($pcds2 =~ /C1/)) { $pzokusei2 = "1"; } #自分火<相手水
if (($cds2 =~ /C1/) && ($pcds2 =~ /C0/)) { $zokusei2 = "1"; } #相手火<自分水
if (($cds2 =~ /C1/) && ($pcds2 =~ /C2/)) { $pzokusei2 = "1"; } #自分水<相手雷
if (($cds2 =~ /C2/) && ($pcds2 =~ /C1/)) { $zokusei2 = "1"; } #相手水<自分雷
if (($cds2 =~ /C2/) && ($pcds2 =~ /C3/)) { $pzokusei2 = "1"; } #自分雷<相手土
if (($cds2 =~ /C3/) && ($pcds2 =~ /C2/)) { $zokusei2 = "1"; } #相手雷<自分土
if (($cds2 =~ /C3/) && ($pcds2 =~ /C4/)) { $pzokusei2 = "1"; } #自分土<相手風
if (($cds2 =~ /C4/) && ($pcds2 =~ /C3/)) { $zokusei2 = "1"; } #相手土<自分風
if (($cds2 =~ /C4/) && ($pcds2 =~ /C0/)) { $pzokusei2 = "1"; } #自分風<相手火
if (($cds2 =~ /C0/) && ($pcds2 =~ /C4/)) { $zokusei2 = "1"; } #相手風<自分火
if ($cds2 =~ /C5/) { $zokusei2 = "1"; } #自分天
if ($pcds2 =~ /C5/) { $pzokusei2 = "1"; } #相手天
if ($cds2 =~ /C6/) { $zokusei2 = "2"; } #自分冥
if ($pcds2 =~ /C6/) { $pzokusei2 = "2"; } #相手冥
    $bat2 = $cat2 + $zokusei2 + $combo2 - $pcombo2;
    $pbat2 = $pcat2 + $pzokusei2 + $pcombop2 - $combop2;
        if ($bat2 > $pbat2) { $bwin2 = "1"; $pbwin2 = "0"; $result2 = "<font color=blue>$cdn2の勝利!!"; }
        elsif ($bat2 < $pbat2) { $bwin2 = "0"; $pbwin2 = "1"; $result2 = "<font color=red>$pcdn2の勝利!!"; }
        else { $bwin2 = "0"; $pbwin2 = "0"; $result2 = "<font color=gray>引き分け</font>"; }
#大将戦#
$zokusei3 = 0;
$pzokusei3 = 0;
if (($cds3 =~ /C0/) && ($pcds3 =~ /C1/)) { $pzokusei3 = "1"; } #自分火<相手水
if (($cds3 =~ /C1/) && ($pcds3 =~ /C0/)) { $zokusei3 = "1"; } #相手火<自分水
if (($cds3 =~ /C1/) && ($pcds3 =~ /C2/)) { $pzokusei3 = "1"; } #自分水<相手雷
if (($cds3 =~ /C2/) && ($pcds3 =~ /C1/)) { $zokusei3 = "1"; } #相手水<自分雷
if (($cds3 =~ /C2/) && ($pcds3 =~ /C3/)) { $pzokusei3 = "1"; } #自分雷<相手土
if (($cds3 =~ /C3/) && ($pcds3 =~ /C2/)) { $zokusei3 = "1"; } #相手雷<自分土
if (($cds3 =~ /C3/) && ($pcds3 =~ /C4/)) { $pzokusei3 = "1"; } #自分土<相手風
if (($cds3 =~ /C4/) && ($pcds3 =~ /C3/)) { $zokusei3 = "1"; } #相手土<自分風
if (($cds3 =~ /C4/) && ($pcds3 =~ /C0/)) { $pzokusei3 = "1"; } #自分風<相手火
if (($cds3 =~ /C0/) && ($pcds3 =~ /C4/)) { $zokusei3 = "1"; } #相手風<自分火
if ($cds3 =~ /C5/) { $zokusei3 = "1"; } #自分天
if ($pcds3 =~ /C5/) { $pzokusei3 = "1"; } #相手天
if ($cds3 =~ /C6/) { $zokusei3 = "2"; } #自分冥
if ($pcds3 =~ /C6/) { $pzokusei3 = "2"; } #相手冥
    $bat3 = $cat3 + $zokusei3 + $combo3 - $pcombo3;
    $pbat3 = $pcat3 + $pzokusei3 + $pcombop3 - $combop3;
        if ($bat3 > $pbat3) { $bwin3 = "1"; $pbwin3 = "0"; $result3 = "<font color=blue>$cdn3の勝利!!</font>"; }
        elsif ($bat3 < $pbat3) { $bwin3 = "0"; $pbwin3 = "1"; $result3 = "<font color=red>$pcdn3の勝利!!</font>"; }
        else { $bwin3 = "0"; $pbwin3 = "0"; $result3 = "<font color=gray>引き分け</font>"; }
#戦闘結果#
$bwin_l = $bwin1 + $bwin2 + $bwin3;
$pbwin_l = $pbwin1 + $pbwin2 + $pbwin3;
    if ($bwin_l > $pbwin_l) {$cdwn = $cdwn + 1;$cdpoint = $cdpoint + $wn_point;
    $result_l = "<font color=Yellow>おめでとうございます。$nmさんの勝利です!<br>勝利ボーナスとして、デュエルポイントを<b>$wn_point</b>を得た。</font>";
    }
    elsif ($bwin_l < $pbwin_l) {$cdlz = $cdlz + 1;
    $result_l = "<font color=red>残念でした。$nmさんの敗北です。</font></font>";
    }
    else {
    $result_l = "<font color=gray>残念でした。引き分けです。</font>";
    }
$line = join('<>',$cdid,$cdpoint,$cdwn,$cdlz,$cd1,$cd2,$cd3,"\n");
&writedat("$carddir$id\.dat",$line);
print <<"_EOF_";
<tr><td>
<center>
<img src=img/card_b.jpg><br>
<br>
<table width=80% border="1" bordercolor="#0000FF">
<tr bgcolor="#000066"><td align=center><font color="#F4F4F4">デュエルアリーナ</font></td></tr>
<tr><td> デュエルの相手は自動的に決まります。デッキによっては相性の良い悪いがあると思いますが、いかに効率よく勝てるかという事を研究するのも大事ですね。攻撃力も重要ですが、カードの配置、コンボの組立等見直すところはたくさんありますよ。攻撃力が全然なくてもコンボで生きてくるカードもあります。<br> 例え勝てなくても相手のデッキを見て得ることもあるでしょう。どんどん挑戦しましょう!</td></tr>
</table><br>
<table width=80% border="1" bordercolor="#9ACD32">
<tr bgcolor="#556B2F"><td colspan=4 align=center><font color="#F4F4F4">+$nmのデッキ+<br>(合計値:$catm/$cdall_max|勝:$cdwn/負:$cdlz)</font></td></tr>
<tr bgcolor="#6B8E23"><td width=15% align=center>順番</td><td width=55% align=center>カード名</td><td width=15% align=center>攻撃</td><td width=15% align=center>属性</td></tr>
<tr><td align=center>先鋒</td><td>$cdn1</td><td align=center>$cat1</td><td align=center>$cde1</td></tr>
<tr><td align=center>中堅</td><td>$cdn2</td><td align=center>$cat2</td><td align=center>$cde2</td></tr>
<tr><td align=center>大将</td><td>$cdn3</td><td align=center>$cat3</td><td align=center>$cde3</td></tr>
</table><br>
<table width=80% border="1" bordercolor="darkred">
<tr bgcolor="Maroon"><td colspan=4 align=center><font color="#F4F4F4">+対戦相手:$dekkinm+<br>(合計値:$pcatm/$cdall_max)</font></td></tr>
<tr bgcolor="brown"><td width=15% align=center>順番</td><td width=55% align=center>カード名</td><td width=15% align=center>攻撃</td><td width=15% align=center>属性</td></tr>
<tr><td align=center>先鋒</td><td>$pcdn1</td><td align=center>$pcat1</td><td align=center>$pcde1</td></tr>
<tr><td align=center>中堅</td><td>$pcdn2</td><td align=center>$pcat2</td><td align=center>$pcde2</td></tr>
<tr><td align=center>大将</td><td>$pcdn3</td><td align=center>$pcat3</td><td align=center>$pcde3</td></tr>
</table><br>
<table width=80% border="1" bordercolor="#0000FF">
<tr><td width=25% bgcolor=#000066 align=center><font color="#F4F4F4">所持金</font></td><td width=25% align=center>$mn</td><td width=25% bgcolor=#000066 align=center><font color="#F4F4F4">ポイント</font></td><td width=25% align=center>$cdpoint</td></tr>
</table>
<br>
<table width=85%><tr><td>
<tr bgcolor="#000066"><td colspan=3 align=center><font color="#F4F4F4"><b>特別処理</b></font></td></tr>
<tr><td align=center><font color=#808080>
<b><$nm側の特別効果></b><br>必殺コンボ『<b>$com_nm</b>』!<br>$com_mes<br><b><$dekkinm側の特別効果></b><br>必殺コンボ『<b>$pcom_nm</b>』!<br>$pcom_mes
</font></td></tr></table><br>
<table width=85%>
<tr bgcolor="#000066"><td colspan=3 align=center><font color="#F4F4F4"><b>先鋒戦</b></font></td></tr>
<tr><td width=25% align=center><font color=blue>$cdn1<br>$cde1<br>$bat1</font></td><td width=50%>
<font color=blue>
「基本攻撃力:<b>$cat1</b>」+「属性効果:<b>$zokusei1</b>」<br>+「自特殊効果:<b>$combo1</b>」−「敵特殊効果:<b>$pcombo1</b>」<br>=「合計攻撃力:<b>$bat1</b>」</font><br>
<font color=red>
「基本攻撃力:<b>$pcat1</b>」+「属性効果:<b>$pzokusei1</b>」<br>+「自特殊効果:<b>$pcombop1</b>」−「敵特殊効果:<b>$combop1</b>」<br>=「合計攻撃力:<b>$pbat1</b>」</font><br><center><b>$result1</b></center>
</td><td width=25% align=center><font color=red>$pcdn1<br>$pcde1<br>$pbat1</font></td></tr></table>
<table width=85%>
<tr bgcolor="#000066"><td colspan=3 align=center><font color="#F4F4F4"><b>中堅戦</b></font></td></tr>
<tr><td width=25% align=center><font color=blue>$cdn2<br>$cde2<br>$bat2</font></td><td width=50%>
<font color=blue>
「基本攻撃力:<b>$cat2</b>」+「属性効果:<b>$zokusei2</b>」<br>+「自特殊効果:<b>$combo2</b>」−「敵特殊効果:<b>$pcombo2</b>」<br>=「合計攻撃力:<b>$bat2</b>」</font><br>
<font color=red>
「基本攻撃力:<b>$pcat2</b>」+「属性効果:<b>$pzokusei2</b>」<br>+「自特殊効果:<b>$pcombop2</b>」−「敵特殊効果:<b>$combop2</b>」<br>=「合計攻撃力:<b>$pbat2</b>」</font><br><center><b>$result2</b></center>
</td><td width=25% align=center><font color=red>$pcdn2<br>$pcde2<br>$pbat2</font></td></tr></table>
<table width=85%>
<tr bgcolor="#000066"><td colspan=3 align=center><font color="#F4F4F4"><b>大将戦</b></font></td></tr>
<tr><td width=25% align=center><font color=blue>$cdn3<br>$cde3<br>$bat3</font></td><td width=50%>
<font color=blue>
「基本攻撃力:<b>$cat3</b>」+「属性効果:<b>$zokusei3</b>」<br>+「自特殊効果:<b>$combo3</b>」−「敵特殊効果:<b>$pcombo3</b>」<br>=「合計攻撃力:<b>$bat3</b>」</font><br>
<font color=red>
「基本攻撃力:<b>$pcat3</b>」+「属性効果:<b>$pzokusei3</b>」<br>+「自特殊効果:<b>$pcombop3</b>」−「敵特殊効果:<b>$combop3</b>」<br>=「合計攻撃力:<b>$pbat3</b>」</font><br><center><b>$result3</b></center>
</td><td width=25% align=center><font color=red>$pcdn3<br>$pcde3<br>$pbat3</font></td></tr></table>
<table width=85%>
<tr bgcolor="darkorange"><td colspan=3 align=center><font color="#000000"><b>総合結果報告</b></font></td></tr>
<tr><td align=center><font color=#808080>$result_l<br><br>デュエル代 <b>$battle_mn</b> KIRAを支払った。</font><br><br>

<form method="POST" action="sos2.cgi">
<input type="hidden" name="mode" value="duel">
<input type="hidden" name="name" value="$nm">
<input type="hidden" name="id" value="$id">
<input type="hidden" name="pass" value="$ps">
<input type="submit" class="buttonY" value=" 戻る ">
</form>

</td></tr></table>
</center>

<table width=100%><tr><td align=right><small>『Duel of Sphere $cd_ver』 By <a href="http://www.bellcity.ne.jp/~yamato/" target="_blank">Sphere(大和)</a></small></td></tr></table>
</td></tr>
_EOF_

&table_bottom;

}

プレイヤー同士のデュエルをとなると、上記バトルシステムの、プレイヤーverが必要になるのかな…?と思いつつ…

どうしたものかと…
お知恵を借りれたら幸いです…!
コメントを書く(引用) | スレッド一覧


1852● Re[10]:カードトレードと、カード画像の実装を目指して…[ moon ] 2015 08/15 22:19
> そして、0行の件につきまして…
>
> > sub file_in_afterで「&joinitem('iF');」が行われていないか、sub joinitemが変更されていない場合にこのようになりそうですので、これらを確認してみてください。
>
> ご指摘通り、# Sub File In After #に、&joinitem('iF');がありました!
>
> 無ければ良いのかな?と思い

いえ、先に書いたようにjoinitemが行われていないとその症状になるので、あるのが正しいです。
まず、データの先頭にある「,」を削除してから動作させ、症状がでた場合はsub joinitemの中身を確認してみてください。

> また、これとは別件なのですが…
>
> 現状だとカードデュエルがプレイヤーと行えないので、
> これをデッキを持っているプレイヤーが相手でもデュエルできるようにしたいなと思い始めました。
>
> 理想は、プレイヤーと接触した際に、相手とデュエルできるようにしたいとは思いつつ…
> ただデュエルできる場所が隔離された場所で実行されてるので、デュエルする相手をデッキを持っているプレイヤーからプルダウンで選ぶか、NPCにするかを選択できるようにしたほうが良いのかな…とも思いつつ…

リストから選ぶ方式は表示時に毎回各ファイル(もしくはそのファイルがあるディレクトリ)を読まなければいけないのでお勧めはしません。
まあ、利便性はあると思いますのでメリット・デメリットを考慮して仕様はお好きなように。

> プレイヤー同士のデュエルをとなると、上記バトルシステムの、プレイヤーverが必要になるのかな…?と思いつつ…
>
> どうしたものかと…

sub battle_duelで行っている処理のプレイヤーバージョンが必要なのは当然ですが、それを実現するにあたってはコピーして修正するよりは引数で区別して処理を振り分けるようにしたほうがシンプルだと思います。
以下のような流れで作っていくのが良いです。
1. デュエルを開始する流れの仕様を決める。
2. 1.の流れ(ダミーで良いのでデュエルのサブルーチンが正常に呼び出されるまでの処理)を実装する。
3. 実際のデュエル処理を実装する。(随時動作させてみて、意図しない動作の場合はデバッグ用メッセージを仕込むなどして原因を特定して修正する。)
コメントを書く(引用) | スレッド一覧


1853● Re[11]:カードトレードと、カード画像の実装を目指して…[ YOUME ] 2015 08/16 16:08
0行の件について、ご指導ありがとうございます!

",$item△$sts";を"$item△$sts,";に変更したところ、0行が生成されなくなりました!
他に弊害が出ないか心配ではあるのですが、これで様子をみてみようと思います…!

プレイヤー同士のデュエルについてもご指導ありがとうございます!もう少しちゃんと考えて試してみたいと思います…!

いつもお知恵を貸して頂き、ありがとうございます!
また一人ではどうにもならなくなった時に相談させて頂けたら幸いです!
コメントを書く(引用) | スレッド一覧


1855● Re[12]:カードトレードと、カード画像の実装を目指して…[ moon ] 2015 08/16 21:42
> 0行の件について、ご指導ありがとうございます!
>
> ",$item△$sts";を"$item△$sts,";に変更したところ、0行が生成されなくなりました!

これは「(4/8)修正」とのコメントがあるところでしょうか?
先に書いたのはそうではなくて、ファイルに保存されたデータ自体を意図していたのですが…。
その処理自体が不要と思われますので、もしそこの修正で変化があったのだとしたらsub joinitemの変更が行われていない可能性が高くなります。
コメントを書く(引用) | スレッド一覧


1857● Re[13]:カードトレードと、カード画像の実装を目指して…[ YOUME ] 2015 08/16 21:49
> これは「(4/8)修正」とのコメントがあるところでしょうか?

はい、そうです…!
ここではなかったのですね…汗

> その処理自体が不要と思われますので、もしそこの修正で変化があったのだとしたらsub joinitemの変更が行われていない可能性が高くなります。

現状のsos2.cgi内にあるsub joinitemの状態は下記のような感じで…

# Sub Join Item #
sub joinitem {
@items = sort(@items) if $_[0] =~ /i/ && $def_so;
    $bg = join(',',@items) if $_[0] =~ /i/;
@pitems = sort(@pitems) if $_[0] =~ /I/ && $def_so;
    $pbg = join(',',@pitems) if $_[0] =~ /I/;
#カードファイル
@citems = sort(@citems) if $_[0] =~ /C/ && $def_so; # カード
$cbg = join(',',@citems) if $_[0] =~ /C/; # カード
}
#カードファイル
#コレクションファイル
@fitems = sort(@fitems) if $_[0] =~ /F/ && $def_so; # コレクション
$fbg = join(',',@fitems) if $_[0] =~ /F/; # コレクション
#コレクションファイル

ここに問題がある感じでしょうか?
理解が上手くできず申し訳ないです…
コメントを書く(引用) | スレッド一覧


1859● Re[14]:カードトレードと、カード画像の実装を目指して…[ moon ] 2015 08/16 22:00
> #カードファイル
> #コレクションファイル
> @fitems = sort(@fitems) if $_[0] =~ /F/ && $def_so; # コレクション
> $fbg = join(',',@fitems) if $_[0] =~ /F/; # コレクション
> #コレクションファイル
>
> ここに問題がある感じでしょうか?

上記がsub joinitemのブロック外にあるのでjoinitemを実行しても処理されないようです。
コメントを書く(引用) | スレッド一覧

CGIROOM