オークションにアイテムを出品後、自分の所持アイテム数がMAXのときに、出品を取り止めると、返却されたアイテムを所持できました。おそらく、オークションのアイテム返却に関するサブルーチンあたりのif文によるチェックがされていないかミスがあるのでしょう。Perlはわからないのですが、こんなif文を追加するといいんじゃないでしょうか? if(!キャラクターの所持アイテムの配列の要素[最後の数字]==NULL){ printf("アイテムがいっぱいですよみたいな意味の文章\n"); break; ←のコードは通常処理を実行させないものならなんでもいいです } そして通常処理はelse文あたりで。Perlのコードはわからないので大目に見てやってください。