![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.1ベストアンサー
- 回答日時:
1)読んだ行が区切られる単位なのか、要素なのかを分けて、
2)指定されたファイル名でオープンしたり、出力が終わったらクローズしたり
を割とそのまま書けばよいかと思います。
# 質問文中ではコロンやスペースが全角なのでそのつもりで書いてあります
my $items = 0;# これからファイルに出力する行数
while (<>) {
if ($items == 0 && /:/) {# :の行が区切られる単位とし、
chomp;
my ($name, $num) = split(/:/);
$num =~ s/ //g;# 全角スペースが入っているようなので消しておく
$items = int($num);# :の後の数字がそのグループに入る要素数である。
print "$name, $items\n";
open OUT, ">$name" or die "Cannot open $name...";
}elsif ($items > 0) {# データ数分出力
print OUT $_;
if (--$items == 0) {# 最後の項目だったら
close OUT;# ここでおしまい
}
}
}
# 最初の if に $items == 0 が入れてあるのは、項目にコロンが入っていたらハマるからですが、
# 先に if ($items > 0) { ... } elsif (/:/) { ... } と書けば条件式はシンプルになります。
# ここでは(データファイルの出力順に合わせて)グループ名の指定かどうか判定する方を先にしました。
この回答へのお礼
お礼日時:2011/12/09 09:14
1行1行 何をやっているか説明いただき、ありがとうございます。
まさに このような方法でやりたかったので、これを参考にし、実行してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ホームページ作成・プログラミング ホームページ作成について。「ワードプレスではありません」。 3 2023/08/13 14:44
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- その他(ソフトウェア) PowerAutomateDesktop UI要素に文字列を入力するには 1 2023/06/03 14:16
- HTML・CSS HTMLの条件によって表示方向が切り替わる実装のコードを教えて下さい。 (コードは下記リンクを参照) 1 2022/09/25 14:35
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- 簿記検定・漢字検定・秘書検定 契約による重要な金融要素について。 写真は簿記のテキストの文章なのですが、 「このような利息の内重要 1 2022/12/18 23:40
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- 子供 男性に必要で女性に不要なモノ(才能・能力・身体的機能など)は何だと思いますか? 3 2022/06/21 17:07
- Visual Basic(VBA) batにて、異なるフォルダの同名ファイルを参照し、文字列を判別。擬似配列で変数へ格納 3 2022/04/10 03:37
- 美術・アート デザインについての考察。 なぜ人の脳は、規則正しく連続した要素を「背景」と認識するのか、実験してみま 2 2022/04/11 21:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
awkスクリプトでダブルクォーテ...
-
ファイル出力の改行コードをLFに
-
エクセルVBAで素数だけを出力す...
-
DOSコマンドで、標準出力を出力...
-
重複するデータを抽出できる秀...
-
教えて!perlから.exeファイル...
-
テキストファイルから日本語部...
-
ドメインからIPアドレスあるい...
-
window.open でのファイル指定方法
-
VBAでCSVファイルの特定行を書...
-
ReadLineでの読み出し行を指定する
-
VBAで巨大なファイルの途中から...
-
ExcelをCSV書き出す場合のシー...
-
VBAでCSVファイルを途中行まで...
-
htaccessで特定のディレクトリ...
-
fopenでディレクトリ内の全ファ...
-
fgets で値が取得できない
-
エクセルVBA コードが同じでも...
-
配列の中に重複文字列があるか...
-
MATLABのm-fileについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
awkスクリプトでダブルクォーテ...
-
エクセルVBAで素数だけを出力す...
-
sprintfについて
-
教えて!perlから.exeファイル...
-
重複するデータを抽出できる秀...
-
log2の「正確な」計算方法
-
DOSコマンドで、標準出力を出力...
-
文字コードの変換(Shift-JISか...
-
perlでの文字列抽出
-
至急お願いします。C言語で.img...
-
ダイアモンド演算子<>に対するb...
-
コマンドプロンプトで行が見え...
-
Perlで着メロDLカウント
-
perlのpushについてです。
-
perlでcsvの出力について
-
CGIから外部コマンド実行時の標...
-
ドメインからIPアドレスあるい...
-
MySQLに画像を格納してperlで取...
-
perlでcsvの指定フィールドに書...
-
htmlから、ファイル、もしくはC...
おすすめ情報