プロが教える店舗&オフィスのセキュリティ対策術

出力結果を 20,5 にしたくて、

$date = 20;
@job_no = (5,3,5);

@table = "$date,$job_no[1]";
print "@table\n";

と考えたのですが表示されませんでした。
ご指摘をおねがいします。

A 回答 (3件)

@table = "$date,$job_no[1]";


は配列に格納する方法として間違っていると思うのですが…

@table = "$date,$job_no[1]";
print "@table\n";
の部分を
$table = "$date,$job_no[1]";
print "$table\n";
とするか
@table = ("$date,$job_no[1]");
print "@table\n";
としてください。
    • good
    • 0

@table配列に一応格納はできていると思うのですが、


表示されないというのは、おかしいですね。

エラーは出ていますでしょうか?

多分、20,3と表示されると思いますが・・・
20,5と表示させたいようですが、
その場合は、[]の中は、1では無く、0か2でしょう。

@test = ("あ","い","う");とした場合、
$test[0] → あ
$test[1] → い
$test[2] → う
となります。
    • good
    • 0

ちなみに、、、


$job_no[1]だと「3」が入ってしまうので。
「5」を代入したいのであれば$job_no[0]もしくは$job_no[2]ですね。

とりあえず一例。

table[0]に「20」
table[1]に「5」(= job_no[0])
と代入したいのであれば

@table = ($date, $job_no[0]);
です。
これをカンマ区切りで表示する時は
print join(",", @table);

普通に「20,5」と表示するだけでしたら配列tableを使わなくても、下の方の回答で十分だと思います。
    • good
    • 0

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