質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Q&A

解決済

4回答

1274閲覧

ファイルのいらない空文字を取り除く作業がうまくいきません

trm

総合スコア117

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

0グッド

0クリップ

投稿2018/01/08 01:47

open(IN,"<kokyakusyouhinjouhou/ID&sougousyouhindata.csv"); @aaa = <IN>; close (IN); @bbb = ""; i=0; while(not eof){ while(@aaa!="n\"){ substr(@aaa,i,1); @bbb=+@aaa; i=i+1; } substr(@aaa,i,1); while (@aaa=" "){ (substr(@aaa,i,1,""); @bbb=+@aaa; i=i+1; } } open(OUT,">kokyakusyouhinjouhou/ID&sougousyouhindata.csv"); print OUT "@bbb"; close(OUT); #新しいデータが追記された配列を test.txt に書き出す open(OUT,">kokyakusyouhinjouhou/ID&sougousyouhindata.csv"); print OUT "@aaa"; close(OUT);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

自己解決

このルーチンは必要なくなりました。

投稿2018/02/16 01:01

trm

総合スコア117

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

貴方はもう少し自助努力が必要だと思うので、ヒントだけ書きます。

perl

1while(not eof){ 2 while(@aaa!="n\"){

論理的に破綻しています。
それぞれのwhileは何を判定しようとしているのでしょうか。何となく書くのではなく、きちんと意図を明確にしましょう。
単純変数($aaa)と配列(@aaa)の区別をつけましょう。それぞれで適用できる演算子の種類も違います。
他にも色々おかしいですが、個別指摘は取り敢えずしないでおきます。

投稿2018/01/08 03:47

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

その手の処理は正規表現使ったほうがシンプルに書けると思います。

perl

1$str =~ s/[\s ]+//g;

ちなみに、上の\sのあとの空白が全角の空白文字 です。

あと、1行単位で処理するのは以下のようにしたほうがシンプルだと思います。

perl

1use strict; 2use warnings; 3 4my $file = shift; 5open(my $fh, '<', $file) or die "$file: $!"; 6 7my @lines = <$fh>; 8 9foreach my $line (@lines) { 10 # ループ内の処理; 11}

#あまりに大量ならwhileで書いたほうがいいですが。。。

投稿2018/01/08 02:04

diningyo

総合スコア379

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

そりゃうまくいかないでしょうね、というソースですが、今までの質問についた回答を読んでください。そうすればうまくいくと思います。

同じ質問をしては放り投げているのでは何度回答を貰っても同じです。

投稿2018/01/08 02:01

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

trm

2018/01/08 02:12

ありごあとうございました
Zuishin

2018/01/08 02:26

回答によって質問が解決した時にはベストアンサーを選んでください。 また自力で解決した時には自己解決してください。 今までの質問がすべて放りっぱなしです。
trm

2018/02/16 01:01

このルーチンは必要なくなりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問