CGI(Perl)で書き込み時に空白をなくすには?
[上に]
[前に]
[次に]
どっと
2000/03/21(火) 00:14:18
Win98&Perl for Win 5で
open( IN, "test.txt" );
@data = <IN>;
close( IN );
open( OUT, ">test.txt" );
print OUT "@data";
close( OUT );
test.txt-------------
テスト
テスト
テスト
-------------------
とするとtest.txtの中身が
test.txt-------------
テスト
テスト
テスト
-------------------
になり、文字列の先頭に半角スペース(空白)が入ります。
空白が入らないようにするにはどうすればいいでしょうか?
また何故、空白が入るのでしょうか?
わかる方ご教授お願いします。
どっと
2000/03/21(火) 00:16:13
プログラムを動かした結果が以下のようになります。
test.txt-------------
テスト
テスト
テスト
-------------------
こうなります。
kala
2000/03/21(火) 00:35:13
print "@data" は print join(' ', @data) と(デフォルトでは)同じ動作をします。
解決法。
print OUT join('', @data);
の行を次のいずれかに書き換えます。
(1) print OUT @data;
(2) print OUT join('', @data);
(3) $" = ''; print OUT "@data";
kala
2000/03/21(火) 00:37:03
>print OUT join('', @data);
>の行を……
正しくは
print OUT "@data";
の行を……
でした。細かい点ですが訂正。
どっと
2000/03/21(火) 00:54:16
[[解決]]
kalaさんへ
早速ありがとうございました。
解決法(1)で試したところ空白が入らなくなりました。
ありがとうございました。丸1日悩んでいた問題が解決しました。
「print OUT "@data"」と「print OUT @data」はまったく
別物とは。。。勉強になりました。
[上に]
[前に]
[次に]