予定の行動ですが、3の後ろに空白が1文字入っています。これを取り除くにはどうすればいいのでしょうか。ここでも、sironekotoroさんの天才的な思いつきを借ります。たしかにこれも第2章で出てきた知識ですね。$monthの次に出てくる空白のオフセットを探す。"英語で$monthは$num月のことです。./monthName6.pl英語でMarchは3月のことです。念のため、12月に戻しても正しく動作します。縛りがなかったら?sironekotoroさんの考察はさらに進みます。sironekotoroさんは読者の鑑ですね。いうことで、ぼくももし縛りがなければ、どんなコードになるのか書いてみます。"英語で$monthは$num月のことです。./monthName7.pl英語でMarchは3月のことです。できてるっぽいですね。いちおうプログラムの中身を解説します。$year;まず、回答を格納する$numをmy宣言します。次に、$yearを空白文字でsplitします。この時点で、split関数は奇数要素目(インデックス付けで0、2、4...番目)に月の名前を、偶数要素目(インデックス付けで1、3、5...番目)に月数を持つリストを返します。ハッシュ%yearをmy宣言し、split関数の戻り値を代入します。これで、%yearはキーとして月の名前を、値として月数を持ちます。$year{$month};上で"March"や"December"で初期化されている$monthをキーに、ハッシュ%yearを検索します。これで月数が返るので、$numに代入します。it)が身上で、好きなように書いていいので、他にもいろいろ書き方があると思うのでエンジョイしてください。いうことで、またちゃっかり本の間違いなんかでブログポストを起こすことになりましたが、本当にスミマセンでした。あとsironekotoroさん本当にありがとうございました。今後もよろしくお願いします。