- ベストアンサー
perlでのtext読み込み
perlで.txtファイルを読み込むのはどうすればいいのでしょうか? コマンドライン引数ではなくC言語でいうscanfのようにプログラム実行した後にtxtファイルを指定して読み込ませたいです。 わかる人がいたら教えてください、お願いしますm(_ _;m)
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ファイルオープンと各行を読み込んで出力するならこんな感じですかね。 open関数は3引数、ベアワード抜きにしたいもんですね。 ------------------------------------------------------------ #!/usr/bin/perl use strict; use warnings; open my $fh, "<", "FileFullPath.txt" or die $!; while (my $line = <$fh>) { chomp($line); #行末の改行コードを削除する print $line, "\n"; } close $fh or die $!; おまけ。 プログラムの入り口で内部表現(utf8フラグ)に変換して受け取り 出口で元に戻したいよねぇーというなら --------------------------------------------------------------------------------- #!/usr/bin/perl use strict; use warnings; use utf8; use Encode; #テキストはutf8で書かれているとする。 open my $fh, "<:encoding(utf8)", "FileFullPath.txt" or die $!; while (my $line = <$fh>) { chomp($line); #行末の改行コードを削除する print encode_utf8($line), "\n"; } close $fh or die $!;
その他の回答 (3)
- kmee
- ベストアンサー率55% (1857/3366)
Perlの入門書や解説サイトを見たら、始めの方に出てきます。 テキスト読みこみ→加工はPerlの主戦場とも言えるところですから、解説の無い「入門書」など無いのでは?
お礼
テキストを読みなおしました。 回答ありがとうございます
- Gletscher
- ベストアンサー率23% (1525/6504)
open(FILE,"file.txt"); @cDATA = <FILE>; close(FILE); これで@cDATAに配列で読み込まれるので、分解したければ以下を追加して$lineに取り込めば良いです。 foreach $line (@cDATA) { $lineの処理 }
お礼
回答ありがとうございます 解決しました!
- SherlockHolmes2
- ベストアンサー率40% (175/429)
超ざっくりで、こんな感じ? $a=<stdin>; chomp($a); open(fh , $a); while($line = <fh>) { print $line; }
お礼
回答ありがとうございます 解決しました!
お礼
回答ありがとうございます 解決しました!