• ベストアンサー

perlのインクリメントの意味

インクリメントって言うのは値を1つくわえるという意味ですよね?  本を読んでいてなんだか今までやってきたインクリメントの説明と結びつかない内容が出てきました。  「つまり「MAIE 5.01」などの文字列で、「MSIE 5」までの部分にマッチしたりするわけです。 その場合には、$ua_freq{"MAIE $1"}の$1が変数展開されて、「MSIE 5」や「MSIE 4」などになりますので、コレをハッシュ%ua_freqのキーとする要素の値をインクリメントします。 」  ここにインクリメントと出ていますが、1をくわえると言う意味になるのでしょうか?なんだか、1を加えるというのが結びつかない感じがします。  この場合のインクリメントとはどういう意味で書いているのでしょうか?  よろしくお願いします。ちょっと素人ですので、わかりやすいように説明をしていただけると嬉しいです。  

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1>インクリメントの意味がわかりますでしょうか? やはり、1プラスしているのですね。 アクセスログから、どのブラウザから何件のアクセスがあったかをカウントしているのだと思います。

torotoro2
質問者

お礼

ありがとうございました~! なんだか僕が誤って理解してました。 1プラスするということはカウントしているということになるんですね!  大変参考になりました♪

その他の回答 (2)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.3

答えが出ていますが補足。 その文章は if($agent =~ /MSIE (.)/) { ++$ua_freq{"MSIE $1"}; } この3行に対する解説のようです。 逆に、この3行のコードの動作が理解できれば、その解説文が説明しようとしている事がわかってくると思います。

torotoro2
質問者

お礼

ありがとうございました! このコードをもう一度説明見て、教えてもらったように1プラスするのがわかって結びつきました!  本当にCGIの勉強始めたばっかりなので・・といっても1ヶ月は過ぎますが、難しいです・・;

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

前後の関係がわからないんで、なんですが、やはり、1プラスするという意味だと思います。 ようは、出現回数を数えている(あるいは、そのキーがあったことを表す)のだと思います。

torotoro2
質問者

補足

夜遅く早速のご回答ありがとうございます! そのコードはこれになります # クセスログ集計 while($ln = <FILE>) { # 項目の切り出し  ($hour, $min, $host, $refer, $agent) ⇒ = split(/\t/, $ln); ++$freq[$hour]; #ユーザーエージェントの集計 if($agent =~ /MSIE (.)/) { ++$ua_freq{"MSIE $1"}; } elsif($agent =~ /Mozilla\/(.)/) { ++$ua_freq{"Mozilla $1"}; } else { ++$ua_freq{"other"}; } # リンク元の集計 if($refer) { ++$ref_freq{$refer}; } } >>そのキーがあったことを表す それは1つ加えるとか関係ないのでしょうか?  このコードでインクリメントの意味がわかりますでしょうか?よろしくお願いします。

関連するQ&A

専門家に質問してみよう