" ←これをテキストに書き込むには?

[上に] [前に] [次に]
ゆう 1999/10/19(火) 15:10:41
初心者です。初歩的な質問ですが、誰か教えてください。
CGIを使って($a=abc,$b=def,$c=ghi,$d=jkl)
opne (FOUT, ">> a.txt");
printf FOUT "%s,%s,%s,%s\n",$a,$b,$c,$d;
close (FOUT);
とするとa,txtには abc,def,ghi,jkl と書きこまれるのですが
a,txtに "abc","def","ghi","jkl"  と書き込みたいんですがどうすれば言いのでしょうか?
誰か教えてください。

ふじ 1999/10/19(火) 15:26:49
Perl ですよね?

>printf FOUT "%s,%s,%s,%s\n",$a,$b,$c,$d;
" をエスケープして、
printf FOUT "\"%s\",\"%s\",\"%s\",\"%s\"\n",$a,$b,$c,$d;
とする。

でもこの場合 printf を使わないで、
print FOUT "\"$a\",\"$b\",\"$c\",\"$d\"";

またはヒアドキュメントを使って

print FOUT <<END;
"$a","$b","$c","$d"
END

こんな風にも書けます。

ゆう 1999/10/19(火) 17:44:40
[[解決]]
ふじ様 ありがとうございます。

printf FOUT "\"%s\",\"%s\",\"%s\",\"%s\"\n",$a,$b,$c,$d;
とする。

この場合うまく書きこめなかったんですが、


print FOUT <<END;
"$a","$b","$c","$d"
END

は、うまく書きこめました。   Y(^.^)Y
ありがとうございます。

[上に] [前に] [次に]