※ ChatGPTを利用し、要約された質問です(原文:ログの値を出すのに変数を使うには。)
ログの値を出すのに変数を使うには。
このQ&Aのポイント
質問文章から変数を使ってログの値を出す方法について、詳しく説明します。
ログの値を出す際に、変数を使用することで作業の効率化が可能です。
具体的な実装方法として、ログをキーと値に分けて変数に格納し、フォームに表示することができます。
こんな感じののログがあります。
key=0302&030201=あああ&030202=いいい&030203=ううう………#03年02月分
key=0301&030101=あああ&030102=いいい&030103=ううう………#03年01月分
ログからkeyで検索して、あてはまる年月のファイルを表示させるのですが、
1つ1つつくっていたのではファイルが膨大なものになってしまいます。
(面倒だし…。)
なので変数を使ってなんとかならないかなぁと思ったのですが。
@wfilelogs = split(/&/,$wfilelog[$i]); #iは検索した時に出たログファイルの行数の変数
foreach(@wfilelog){
($wkey,$wvalue) = split(/=/,$_);
$WFORM{$wkey} = $wvalue;
}
#名前と値に分ける。
というような感じになっています。
フォームにログファイルを出す時は
$WFORM{'030201'}
のようにして出します。
でも毎回03年02月のデータとは限らないので、そのために他にも作成しておくのが大変です。
$WFORM{'変数01'}
みたいな感じで出せないかなぁと思ったのですが、できるのでしょうか?
よろしくお願いします。
お礼
回答ありがとうございます。 質問の仕方がちょっと悪かったかもしれません、すいません。 フォームにログの値を出す時に通常なら $WFORM{'030201'} とするところを $WFORM{'$key01'} のようにしたいのです。 実際上記のようにしたところエラーは出ませんが、値も出ませんでした。
補足
すいません、つくり方が根本的に誤っていたようです。 別にログファイルに書き込むときに「030201=あああ」としないで「01=あああ」としてしまえばいいんですよね。 今ごろ気づきました。すいませんでした。