![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.3ベストアンサー
- 回答日時:
my $file = "./test.txt";
open (FILE, $file) or die "$!";
chomp(my @lines = <FILE>);
close FILE;
my $n = 0;
for my $line (@lines) {
$n++ if ( $line =~ /^\s*?$/ );
open (FILE, ">> $n.txt") or die "$n.txtを作れませんでした。 : $!";
print FILE "$line\n" unless ( $line =~ /^\s*?$/ );
}
close FILE;
物凄く適当ですけど。
No.4
- 回答日時:
# 変数$nを定義
my $n = 0;
# 空行が見つかったら$nに1を足す。
$n++ if ( $line =~ /^\s*?$/ );
# 例えば、$nが2だったら、2.txtを上書きモードで開く。なければ2.txtを作成する。
open (FILE, ">> $n.txt");
という処理に使っています。
本来なら、No.3での回答は必要無く、BLUEPIXY氏(No.1)の回答で十分なのですが、難易度が高いかな?と思い、追っていきやすそうなコードで書きました。
しかし、失礼ながらPerlを知らないとしか思えないのですが…
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_08.png?e8efa67)
No.2
- 回答日時:
はじめまして、こんばんわ。
*最初に
ド素人なもので、かなり馬鹿なことをしている
かもしれませんので注意してください。(汗
#ファイルを開く
open FILE,"test.txt";
#配列に代入
@dat =<FILE>;
#カウンタ
$cnt = 0;
#行数指定
$num = 4;
#ファイル インデックス
$ind = 1;
#配列分ループ
foreach (@dat) {
#カウンタ
$cnt++;
#ファイルを開く(追加)
if ($cnt == 1) {
open(FOUT,">> $ind.txt");
}
#ファイルへ書込み
print FOUT $_;
#指定行数になった時
if ($cnt == $num) {
#ファイルのインデックス
$ind++;
#ファイルを閉じる
close(FOUT);
#カウンタ
$cnt = 0;
}
}
#ファイルを閉じる
close FILE;
あとは、こういった所を参考にされては如何でしょうか。
http://www.harukaze.net/~haruka/cgi/cgipe4-1.html
No.1
- 回答日時:
質問者の意図とは違いますが、
ファイルが空行で区切られているので、3行毎というより、空行区切りでやるほうが楽です。
こんな感じ
$/ = ''; #空行を区切りにする
open(IN,"<data.txt");
while(<IN>){
open(OUT,">$..txt");
print OUT;
close(OUT);
}
close(IN);
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perl エラーログを指定の場所...
-
Perlでテキストファイル読み込み
-
Visual Basicを使って三平方の...
-
バッチファイルの作り方(CSV→...
-
openした後、closeしないでプロ...
-
ExcelをCSV書き出す場合のシー...
-
VBAコードを張り付け後のエクセ...
-
VBAでCSVファイルを途中行まで...
-
エクセルVBA コードが同じでも...
-
データの日付でソートをしたい
-
awkスクリプトでダブルクォーテ...
-
VBAで巨大なファイルの途中から...
-
dos変数の%~dp0は powershellで...
-
VBAでCSVファイルの特定行を書...
-
PerlからのCSV出力
-
MATLAB グローバル変数の宣言
-
時刻表を分でソートする方法を...
-
ReadLineでの読み出し行を指定する
-
エクセルVBAで素数だけを出力す...
-
sprintfについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル名を複数個配列で確保...
-
「パスが見つかりません」とい...
-
Visual Basicを使って三平方の...
-
C++でのテキストファイル読み込...
-
Fortranで1行飛ばして読み込む方法
-
同じようなソースなのですが片...
-
どなたか教えて下さい。
-
ifstream/ofstream について
-
Perl エラーログを指定の場所...
-
system関数と引数について
-
perlで指定範囲を複数ファイル...
-
ファイルの一部を別のファイル...
-
C言語初心者です。プログラミン...
-
perlでIEのクッキーを削除したい
-
ファイルを分割する。
-
一行だけ読込
-
日本語のマッチング(正規表現)
-
perl ファイルのデータを編集し...
-
Pythonで非日本語のUnicode文字...
-
shellのコマンド deffの差分の...
おすすめ情報