重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

改造OKのCGIで、数値を文字に変更したいです。

parl、と言うかプログラミング自体まったく触った事がないのですが、
(1)
(2)
(3)
といった()内の数値の部分を
(あ)
(い)
(う)
という文字に変更したいと思っています。

単純だから自分でもこれくらいなら変更出来ると思い
入門サイトをいくつか見たのですが、
お恥ずかしい話、変数の宣言の時点でギブアップしてしまいました・・

ソースをコピーしてきましたので、
どこを直せばよいかご教授お願い致します。

$CP{'mcnt'} = 0;
&tdlprs'array_dic_meanlist($C{'meanlist'}, *subs);
foreach(@subs){
&tdlprs'parse_line_dic_mean($_, *CP);
$CP{'mcnt'}++;
&tdlprs'parse_line_user(&tdlprs'hash_user_uid($CP{'muid'}), *CPP);
$CP{'muname'} = $CPP{'uname'};
$CP{'mean'} = &change_meanlink_wid_to_tag($CP{'mean'});
$C{'means'} .= &merge_template_parts($PT_DIC{'means'}, *CP);
}

おそらくmcntが
0,1,2,3と増えていくと思うのですが、
これを文字のあ、い、う、と置き換えたいと思っております。

A 回答 (3件)

で、ですから



>(#CHK:$moji[$CP{'mcnt'}])と変更したのですが、

シャープ( # )を使っているってことは、もはやコレはスクリプト内じゃないですよね?出力された後だと思われます(SSI か何かなのでしょうか?)
さすがに出力後の HTML に直接スカラー変数をねじ込もうとしてもそれは無理な相談ってものです。

スクリプトが $CP{'mcnt'} ( mcnt に非ず)を吐き出す箇所にて $moji[$CP{'mcnt'}] を使用してください。
    • good
    • 0

横から失礼します。


配列のプレフィクスは @ ですから、仮に moji という名前なら

my @moji = ('あ','い','う');

となります。

そして『置換』といってもココでは置換演算子を使えというのではなく、単純に $CP{'mcnt'} が出力される時点で $moji[$CP{'mcnt'}] に変更してやる… という事を #1氏はおっしゃっているんですよ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

ご指摘頂いた通り、配列を使用してみました。

$CP{'mcnt'} = 0;
my @moji = ('あ','い','う'); ←こちらに設置しました。
&tdlprs'array_dic_meanlist($C{'meanlist'}, *subs);
foreach(@subs){
  &tdlprs'parse_line_dic_mean($_, *CP);
  $CP{'mcnt'}++;
  &tdlprs'parse_line_user(&tdlprs'hash_user_uid($CP{'muid'}), *CPP);
  $CP{'muname'} = $CPP{'uname'};
  $CP{'mean'} = &change_meanlink_wid_to_tag($CP{'mean'});
  $C{'means'} .= &merge_template_parts($PT_DIC{'means'}, *CP);
}



そしてhtml内でmcntを出力する部分も

(#CHK:$moji[$CP{'mcnt'}])

と変更したのですが、
(あ)(い)(う)・・と表示されず配列の中身ではなく
名前がそのまま表示されてしまいました・・。


mcntの場合は

(#CHK:mcnt#)

の表記で(1)(2)(3)・・と表示されます。


本当に分かっていなくて申し訳ありませんが、
宜しくお願い致します。

お礼日時:2010/03/17 12:43

まず、["あ","い","う"]という配列を用意します。



HTMLを出力する部分で、
仮に($CP{'mcnt'})が出力されているなら、
それを(上記の配列[$CP{'mcnt'}])と置換します。

配列の$CP{'mcnt'}番目の項目、ってことです。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

配列の用意はこちらで宜しいでしょうか?
$moji = (
 'あ',
 'い',
 'う',
);

そして置換というのは
どのように行えば宜しいのでしょうか?
本当に基本的な質問で恐縮なのですが、ぜひアドバイスを宜しくお願い致します。

お礼日時:2010/03/16 15:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!