アプリ版:「スタンプのみでお礼する」機能のリリースについて

$today = "2012";
my @file = qw(
result_001_${today}.txt
result_002_${today}.txt
result_003_${today}.txt
);
for(@file){
print ;
}
例えば、こういったスクリプトがある場合、$todayが代入されることなく出力されます。
なぜか分かりますでしょうか?

A 回答 (2件)

qw は実質的に


q + split
だから.

参考URL:http://perldoc.perl.org/perlop.html#Quote-and-Qu …
    • good
    • 0
この回答へのお礼

とても参考になるHPの紹介ありがとうございます。
qwは単純に分割するだけと思っていたのですが、色々な使い方があることを初めて知りました!

お礼日時:2012/08/29 12:14

代替コードとして



$today = "2012";
my @file = qq{
result_001_${today}.txt
result_002_${today}.txt
result_003_${today}.txt
};

for(@file){
print ;
}

ですと動きます。

おそらく
q で挟んだものは シングルクォート、qqで挟んだものはダブルクォートで挟んだものと同じですが
qwの場合は、単なる文字列として認識されるのではないかと考えられます。
    • good
    • 0
この回答へのお礼

回答いただきありがとうございます。
qwの意味を全く考えずに使っていましたが、意味があったのですね。
また、サンプルプログラムありがとうございます。
とても役に立ちました。

お礼日時:2012/08/29 12:12

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