![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
70<>9<>1日目<>3<>業務の流れについての概説<>
こういった中身のtest.txtがあります。
open(READ_FILE,"<test.txt");
@file = <READ_FILE>;
@data = split(/<>/,@file);
close(READ_FILE);
open(WRITE_FILE, ">test02.txt");
print WRITE_FILE "@data";
close(WRITE_FILE);
このようにすれば、test2.txtは、次のようになると思ったのですが、
70 9 1日目pm 3 新薬開発の流れについての概説
行数を表示しているようで、「1」となります。
(ためしにtest.txtの行を増やしたらその行数を反映していました)
どこが間違っているのかお教えいただけますでしょうか。
No.1ベストアンサー
- 回答日時:
splitの処理対象の引数に配列を与えることはできないので
@data = split(/<>/,@file);
↓
@data = split(/<>/,$file[0]);
とするべきです。
また、複数行を処理するならそれなりの処理をする必要があります。
参考URL:http://www.rfs.jp/sitebuilder/perl/05/func/split …
ありがとうございます。その通りにしたらできました。
まだ勉強を始めたばかりで右も左もわかりませんでしたが、参考URLがすばらしいです。
しっかり勉強して、今度はもう少し高度な質問ができるようにしたいと思います。
本当にありがとうございました。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?e8efa67)
No.3
- 回答日時:
11行目間違えてました。
すみません。これでいけるとおもいます。
#!/Perl/bin/perl
my @file;
my @data;
my $x;
my $format;
if(open(READ,"< test.txt")){
@file = <READ>;
close(READ);
if(open(WRITE,"> test2.txt")){
foreach $x(@file){
@data = split(/<>/,$x);
$format = join(" ",@data);
print WRITE $format;
}
close(WRITE);
}
}
ご迷惑をおかけしました。
わざわざ直してくださって、ありがとうございます。
今度は意図通りに表示ができました。
勉強していて疑問に感じた部分を質問させていただきましたので、申し訳ありませんが、最初にお答えいただいた方を「良回答」にさせていただきます。
今後ともよろしくお願いいたします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?e8efa67)
No.2
- 回答日時:
#!/Perl/bin/perl
my @file;
my @data;
my $x;
my $format;
if(open(READ,"< test.txt")){
@file = <READ>;
close(READ);
if(open(WRITE,"> test2.txt")){
foreach $x(@file){
@$data = split(/<>/,$x);
$format = join(" ",@data);
print WRITE $format;
}
close(WRITE);
}
}
こういう感じでいかがでしょうか?
ありがとうございます。
そのまんま試してみましたが、うまく動いてくれませんでした。
myの意味もよくわからない初心者ですので、もう少し勉強してから再度検討させていただきたいと思います。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- Windows 8 iOS や Winows で使われているAccountの考え方がいまいち分かりません。これはLinu 2 2022/04/28 22:05
- Perl perlのflock関数でロックをかけたままopen関数で何度もファイルを開きなおすことはできますか 3 2023/05/01 22:25
- UNIX・Linux Linuxの実行結果を修正したいです。 6 2022/11/22 12:57
- オープンソース stable diffusionのインストールがうまくいきません。 1 2023/06/20 13:09
- iOS ファイルの名前変更 2 2022/08/11 20:47
- その他(ゲーム) PC版ウィッチャー3ワイルドハントBGM流れないの 問い合わせたらこのような物届いたのですがどうすれ 1 2023/05/03 20:02
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
入力フォームに全角・半角スペ...
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
HTMLでのタイマーの設置
-
チェックボックスとセレクトボ...
-
フォームの入力内容の後ろに文...
-
proftpdで困ってます。
-
VB初心者。小数点以下の表示で...
-
クオートの多重入れ子をするには?
-
WEBページを強制的に横画面で見...
-
プログラミングについての質問...
-
「value」に2つの値をセットす...
-
シングルコーテーション(')と...
-
ブックマークからのアクセスを...
-
CGIに渡しているパラメータを表...
-
pythonのnumpyでの列(縦)ベク...
-
ある条件での必須入力について
-
selectboxの画面遷移で、postデ...
-
OPTIONタグにループは使えない...
-
http GETに混入されるこのデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
tracert ができない原因
-
【ASP.NET MVC】フォームヘルパ...
-
チェックボックスでのor検索
-
掲示板スパム対策(改造)ガー...
-
perlで書いたcgiでsqliteの使い...
-
入力フォームに全角・半角スペ...
-
sendmailのメール送信ができま...
-
splitについて教えてください。
-
日本語文字化け(GETメソッド?)
-
@town = ("Aタウン","Bタウン",...
-
JNAVIから提供されたメー...
-
アンケートの回答をcsv形式で保...
-
文字って数字で表現・・・
-
禁止ワードの設定
-
Perlでuse socketを使用してフ...
-
名前の改行の仕方
-
【CGI】画像の表示の仕方【Mini...
-
python初心者です。
-
c言語 構造体
-
perl ヒア文(print <<"EOM" ...
おすすめ情報