データベースに格納してあるデータの前から60文字だけを取り出してHTMLで表示させたいのですがうまくいきません。私が作ったソースは次のとおりです。

($industry)=格納してある変数=~/^(............................................................)$/;

「格納してある変数」から先頭60文字を取出し「$industry」に入れる

としたつもりなのですが,結果は$industryに何の値も入ってきていません。どうか教えていただけないでしょうか?お願いします。

A 回答 (1件)

>($industry)=格納してある変数=~/^(............................................................)$/;


最後の $ はいらないのではないですか。
これは、60文字に満たないものは取れないと思うけどいいのかな?

$industry = substr(格納してある変数, 0, 60);
で取れないですか?
    • good
    • 0

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

このQ&Aと関連する良く見られている質問

Q$hts =~ s/##([^#]+)##/$FORM{$1}/g の意味を教えてください!

お世話になります。
perl素人なのですが必要に迫られてWEBで調べながら
ソースを解析していますが、次のコードで完全に止まってしまいました。

$hts =~ s/##([^#]+)##/$FORM{$1}/g

この場合、
#hts から ##([^#]+)## を探して $FORM{$1} に全て置き換えようとしていると思うのですが、以下2点が理解できず困っています。

1.##([^#]+)## の意味
$htsに##で囲まれた文字列が複数あるのでそれら全てを探すということでしょうか?

2.$FORM{$1} の意味
$1は1.で検索した結果だと思いますが、$FORM{ }は一体なんでしょうか?

素人がいきなり解析するのは無謀なのは承知の上ですが、
どうしても業務で必要なので、お知恵をお貸し下さい。
よろしくお願いいたします。

Aベストアンサー

1.
perlを基準に「正規表現」で調べてごらん

2.
同じくperlでHTMLのformデータを受け取る方法を調べてごらん

Qforeach (1..4){ 英文字$_→$新しい変数として使いたい

$a1="あああ";
$a2="いいい";
$a3="ううう";
$a4="えええ";
$a5="おおお";
foreach (1..5){
$view = "a$_";
print <<"HTML";
$view<BR>

HTML
}

の時、$viewに$a1~$a5の値を表示させるようにしたいのですが、上記の場合ですとa1~a5として表示されます。

foreachで$_で順に数字をaと組み合わせて出来た文字列を変数として使い、元々指定してある値を取得するようにしたいのです。

どのようにすれば解決できますでしょうか。ご掲示頂けましたら幸いです。

Aベストアンサー

$a1="あああ";
$a2="いいい";
$a3="ううう";
$a4="えええ";
$a5="おおお";
foreach (1..5){
$view = ${"a$_"};
print <<"HTML";
$view<BR>

HTML
}

Q$wfurikae = 1 if ( &ccom::getShukujitsu( &com::tD( $wwy,$wwm,$wwd )) ne '' );がよく

$wfurikae = 1 if ( &ccom::getShukujitsu( &com::tD( $wwy,$wwm,$wwd )) ne '' );

というスクリプトがあったのですが、

$wfurikae = 1 の後に;もいれずifがきています。

違和感があります。

どのような意味になるのでしょうか。

宜しくお願い致します。

Aベストアンサー

そのまんまだと思いますよ。
if 以下の条件が真の時 $wfurikae = 1となります。
Perlはいろいろな書き方ができますので、こういう書き方もありです。
英語の文法の並びにする書き方です。

Q$postflag=1とか$flag=1とかってなにを意味しているの?

CGIでperlを勉強してます。

アンケートフォームや掲示板などのデコード処理の中によく、$postflag=1;とか$flag=0;とか出てくるんですけど、この変数はなにを意味しているのですか?

Aベストアンサー

勉強を始めたばかりの方とお見受けします。
小難しい説明だと理解しづらいですよね。

コーディングの暗黙的ルールとして
flag(フラグ)というものは1か0です。(またはtrue/false、真/偽、on/off、などなど。。。)
つまり2者択一をする場合の判定条件に使われる変数だと思ってください。

例えば性別を選ばせるアンケートフォームがあるとします。
で、女性と回答された場合のみ割引サービスの画面を見せたいって場合などに
フラグを利用します。$seibetsu_flagとでもしましょう。
基本は$seibetsu_flag=0ですが"女性"と選択された場合のみ$seibetsu_flag=1となるよう
プログラムを組んでおけば、後の処理で、


if ($seibetsu_flag=1) {

  ★女性なのでサービス画面表示する処理

}
else {

  ★男性なので通常処理

}


こんな感じで判定することができますよね。
$postflagは名前から察するにNo.3さんの回答の用途だと思いますよ。

勉強を始めたばかりの方とお見受けします。
小難しい説明だと理解しづらいですよね。

コーディングの暗黙的ルールとして
flag(フラグ)というものは1か0です。(またはtrue/false、真/偽、on/off、などなど。。。)
つまり2者択一をする場合の判定条件に使われる変数だと思ってください。

例えば性別を選ばせるアンケートフォームがあるとします。
で、女性と回答された場合のみ割引サービスの画面を見せたいって場合などに
フラグを利用します。$seibetsu_flagとでもしましょう。
基本は$seibets...続きを読む

Q$x=''とした場合と$x=0とした場合で

$xにどちらが設定されているか判別する手段はあるのでしょうか?
有るとすればどうすればいいのでしょうか?

Aベストアンサー

単純に if($x eq '0') で大丈夫じゃないでしょうか?


$x = 0;

if($x eq '0') {
print "0を設定\n";
} elsif(! $x and defined $x) {
print "'' を設定\n";
} elsif($x) {
print "$x を設定\n";
} else {
print "\$x は未定義\n";
}


おすすめ情報