「<<」の記述でwhile構文を認識させたいのですが。
[上に]
[前に]
[次に]
もーちゃん
2000/06/02(金) 19:02:21
こんにちは。またまた行き詰まってしまいました。
どうか、お力添えを。m(_ _)m
下のように、「<<」を使って、$msg という変数に aaa.txt の内容を
いれたいのですが、$msg を bbb.txt に出力すると、
open (OUT,"aaa.txt");
while (<OUT>){
print;
}
close(OUT);
と、出てきてしまいます。
何が原因なのでしょうか?
------------------------------------
$msg=<<"MSG";
open (OUT,"aaa.txt");
while (<OUT>){
print;
}
close(OUT);
MSG
open (IN,">>bbb.txt");
print IN "$msg";
colse(IN);
偽
2000/06/02(金) 19:22:13
何というか、当たり前です。
ヒアドキュメントの使い方を理解されてますか?
この場合、ヒアドキュメントを使う必要はありません。
もーちゃん
2000/06/02(金) 19:25:09
すみません。理解していないかも…
SSIを使ったほうが良いということでしょうか?
これも見当違いだったらすみません。
悪魔のZ
2000/06/02(金) 19:51:08
●解答編●
$msg=<<"MSG";
open (OUT,"aaa.txt");
while (<OUT>){
print;
}
close(OUT);
MSG
↑を
open (OUT,"aaa.txt");
while (<OUT>){
$msg.=$_;
}
close(OUT);
でOK?
●解説編●
http://www.tohoho-web.com/wwwperl1.htm#EOF
要するに
$msg=<<"MSG"; 以降 MSG までの記述が $msgに代入されて
print IN "$msg";で$MSGの値がbbb.txtに出力されます。
もーちゃん
2000/06/02(金) 20:02:42
[[解決]]
で、できました!
悪魔のZさんありがとうございます。
(SSIとか言い出してはずかしいですっっ)
教えてもらったページで、よーく勉強したいと思います!
悪魔のZ
2000/06/02(金) 20:47:30
すみません修正です
× print IN "$msg";で$MSGの値がbbb.txtに出力されます。
○ print IN "$msg";で$msgの値がbbb.txtに出力されます。
がんばって勉強してください > もーちゃん
もーちゃん
2000/06/02(金) 20:59:42
>がんばって勉強してください > もーちゃん
ありがとうございます! がんばります!!
すみません。もうひとつ追加で質問してもいいですか?
$msg に aaa.txt の内容を入れることは成功したのですが、
(なぜそうなるかは勉強中…)
aaa.txtに変数があっても、それは「文字」になってしまうのでしょうか?
aaa.txtには、
----------------
名前:$name
電話: $tel
---------------といった、内容が入ってます。
$msg=名前:$name;
とすれば、ちゃんと「名前:もーちゃん」になるんですけど、
上の方法でやると「名前:$name」になります。
「ここを読め!」というところがあれば、それだけでもいいので、
よろしくお願いします。
もた
2000/06/02(金) 23:11:29
文字列中に書かれた変数名(例:$name)が、その変数の内容(例:もーちゃん)に
展開されるのはどんなときか、ということですよね。
「UNIX短編シリーズ Perl」(\1300)を買って「第2章 文字列自由自在」を読めと
いうのはアリでしょうか(^_^;
悪魔のZ@無責任モード
2000/06/03(土) 16:43:07
s/\$mane/$name/g
かな?
もーちゃん
2000/06/05(月) 10:06:59
[[解決]]
>もたさん
やっぱり、イチからきちんと勉強するほうが近道ですよね。
お昼休みにでも、本屋さん行ってみます!
>悪魔のZ@無責任モード
で、で、できました! すごいー(;_;)
ほんとに、ほんとに、ありがとうございます。
>s/\$mane/$name/g
これは、置換するってことですよね?
「¥」をつけるのは、
文字列の$mane を 変数の$name に置換する
という考えであってますか?
お二人とも、ほんとにありがとうございました!!
悪魔のZ
2000/06/05(月) 10:30:04
> 文字列の$mane を 変数の$name に置換する
> という考えであってますか?
YES
> 「ここを読め!」というところがあれば、それだけでもいいので、
> よろしくお願いします。
まず↓これを読んだ上で
http://www.tohoho-web.com/wwwperl.htm
本を買うつもりなら
初めてのPerl(Learning Perl) ISBN4-89052-678-1
プログラミングPerl改訂版 ISBN4-900900-48-6
あたりがお勧めかな
[上に]
[前に]
[次に]