電子書籍の厳選無料作品が豊富!

テキストファイルから任意の部分だけ抜き出したいです。
試行錯誤しているのですが、正直もうお手上げで。。

やることとしては、元ファイルがshiftjisなので、UTF8に変換し、処理を行う感じになると思っています。

ソースは以下のように書き、syntaxOKなのですが、実際に結果を出力するテキストファイルは0BYTEなので訳がわかりません。。

ソースは以下のような感じです。


何かヒントを頂けないでしょうか。

#!/usr/bin/perl

use Encode::JP;
use warnings;

open READ, '<:encoding(shiftjis)', 'テキストファイル名';

open WRITE, '>:encoding(utf8)', 'テキストファイル名2';

while(my $data = <READ>){
($data,"shiftjis","utf8");
printf WRITE;
};

close WRITE;
close READ;


open PAY, 'テキストファイル名2';


while (<PAY>) {
printf if /^"抜き出したい文字列(開始)"$/ .. /^"抜き出したい文字列(終了)"$/ and !/^(?:"抜き出したい文字列(開始)"|"抜き出したい文字列(終了)")$/;
};

A 回答 (2件)

それもそうだけど


($data,"shiftjis","utf8");
の部分がすごく謎だと思う>#1.
    • good
    • 0

while(my $data = <READ>){


($data,"shiftjis","utf8");
printf WRITE;
};

もしこれが写し間違いでないのなら、WRITEのあとに出力対象がないので
ファイルになにも書かれないのではないでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!