発言者: moon
発言日: 2003 08/16 19:00
> if ($Fm{'mode'} eq 'change_menu') {require 'change_form.pl';&change_form }
> if ($Fm{'mode'} eq 'class_change') {require 'change_form.pl';&change_form }
> if ($Fm{'mode'} eq 'job_change') {require 'change_form.pl';&change_form }
に関連して、
> change_form.plを作成して、その中にsub change_formを作りました。sub change_formの一部↓
> if ($Fm{'mode'} eq 'class_change'){require 'class_change.pl';&class_change;}
> if ($Fm{'mode'} eq 'job_change') {require 'job_change.pl';&job_change;}
> if ($Fm{'mode'} eq 'change_menu') {require 'change_menu.pl';&change_menu;}
としているようですが手元の古いバージョンでは、
# ここから引用
if ($Fm{'mode'} eq 'change_menu') { &change_form }
if ($Fm{'mode'} eq 'class_change') { &action_form }
if ($Fm{'mode'} eq 'job_change') { &action_form }
# ここまで引用
となっています。
なので、これに沿って改造したほうが問題が無いように思います。
具体的には、sub change_menuとclass_changeとjob_changeとchange_formを一つのplファイルにまとめ上記の&change_formや&action_formの前にrequireするだけ、にしておく。(どうせ転職などはあまり行われないので3つや4つに分割する効果はほとんど無いだろうし。)
> 問題の場所はclass_change.pl内の
> if ($urt) { if ($rt < $urt) { push (@msg,"クラスチェンジするにはRateが$urt以上必要です。"); return }}
> だと思うのですが(^^;
> returnの意味がよくわからないので、どこをどうすればいいのか…(;;
returnはサブルーチンを強制的に抜ける処理です。
# normal_actionが実行されない原因としては上記からいうとaction_formを実行していないから、だと思います。
▼関連発言
│
└◆730:転職所内蔵 [masaki] 08/16 17:18
└◆731:Re:転職所内蔵 [masaki] 08/16 17:21
└◆732:Re[2]:転職所内蔵 [moon] 08/16 19:00
└◆733:修正報告 [moon] 08/16 19:12
└◆734:Re:修正報告 [masaki] 08/17 06:56<-last