Perl初心者です。基礎の基礎なので自分なりに調べたり勉強したりしたのですがいまひとつ理解できないので教えて下さい><
ファイルの入力のサンプルとして
open(FIN,"name.txt");
binmode FIN,'utf8';
$line=<FIN>;
chomp($line);
print"hello!$line\n";
close(FIN);
を何の説明もなく提示されました。
2行目は日本語を入力するためのものだということはわかります。
しかし所々に出てくるFINとは何でしょう?また$lineとは何事でしょう?
質問もしてみたのですが如何せん言ってることがよくわからない教授なもので、万事休すです´`
どなたかこのファイルを簡単に説明して下さるとありがたいです。
No.1ベストアンサー
- 回答日時:
[1]ファイルハンドルFINという名前でname.txtを読み込みモードでオープンする。
[2]バイナリモードにする(windowsでは有効)
[3]$line変数にファイルハンドルFINを代入する。つまり$lineにname.txtの内容を入れると言うこと。※$lineではなく@lineの方が良いような気がしますが。
[4]最後の行を削除
[5]表示
[6]ファイルのクロース(本来は4行目にあるべきだと思う)
ご回答ありがとうございます!><。
ようやくFINの意味がわかりました!!!
もうちょっと勉強がんばります。
もしかしてまた質問させて頂くかもしれません。
よろしかったらまたご回答頂ければありがたいです。
No.2
- 回答日時:
binmode FIN, ':utf8';
ファイルハンドル FIN に結びつけたデータの文字コードは UTF-8,
と設定。openより前でないと想定した動きにならないと思いますが。
open(FIN, "name.txt");
ファイル name.txt を読み込みモードでオープンし,ファイルハンドル
FINに結びつける。File-INでなくても可,お好きな名前を与えてください。
$line = <FIN>;
FINから一行分(改行文字が現れるまで)を読み,変数 $line に代入。
chomp($line);
$lineの末尾の改行文字を切り落とす(次行で \n を新たに付加しているので)
print "hello!$line\n";
"hello!" という文字列,変数 $line の中身("name.txt"の一行目から
改行を除いたもの),改行文字(\n),の3つを続けて標準出力に出力。
close(FIN);
ファイルハンドルのクローズ。
ありがとうございました。
言語処理の授業でのサンプルなのですが、
早くももう迷子になりかけています。
わたしの理解力がないのかもしれませんが、
多分絶対、先生の説明力不足もあるんです…。
よろしかったらまたお付き合い下さい><
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 作詞・作曲 映画『二百三高地』の主題歌【防人の詩】は線状降水帯による土砂崩れや河川氾濫の危険を唱えた歌詞ですか? 2 2022/05/30 21:35
- その他(プログラミング・Web制作) Android Studio 難しい 4 2023/06/18 22:27
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- フランス語 困っています、保険解約書類が送られ、よく分かりません Signature du co-Adhéren 2 2023/02/19 21:06
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- 大学受験 大学生に保護者なんかいるの? 4 2023/08/23 16:52
- 大学受験 参考書の勉強法について質問なのですが、参考書を一通り終わらせて、二周目を行う際、問題だけ解けば良いで 2 2023/06/30 20:19
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- 留学・ワーキングホリデー リスニング力、はつきますか?6カ月語学学校行き数年間お金を稼いでまた、6カ月間語学留学に行くのは? 1 2023/02/11 15:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
forfilesで検索したファイルを...
-
VBAでワークシートを引数として...
-
バッチ処理でファイルの中身を...
-
COPYコマンドで結合すると余計...
-
拡張子を元に戻す
-
cshでファイルサイズ取得
-
.txtではなく.logの方が良いの...
-
renameコマンドについて
-
多数のサブディレクトリ内のフ...
-
バッチファイルで文字列削除に...
-
ファイルを処理中に次の処理に...
-
【Excel】 VBAを使って毎回名前...
-
Unicode 対応の sed って無いの...
-
テキストファイルで提出とは?
-
テキストファイルの内容を連結...
-
C言語、ファイルの存在チェック...
-
テキストファイルのファイル名...
-
Excelで、大量のファイルをテキ...
-
バッチファイルで、リムーバル...
-
VBAでエクセルをtxtに変換する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
VBAでワークシートを引数として...
-
.txtではなく.logの方が良いの...
-
拡張子を元に戻す
-
多数のサブディレクトリ内のフ...
-
COPYコマンドで結合すると余計...
-
バッチファイル 複数ファイル...
-
テキストファイルで提出とは?
-
バッチファイルで文字列削除に...
-
Windowsのバッチファイルを利用...
-
テキストファイルのファイル名...
-
ファイルの最後に文字列挿入
-
psqlでエラーログをとりたい
-
forfilesで検索したファイルを...
-
バッチファイルからVBAに引数を...
-
accessでSQL文を使ってcsvファ...
-
テキストファイルのタブをカン...
-
MATLABで行列を配列に格納する方法
-
renameコマンドについて
-
【Excel】 VBAを使って毎回名前...
おすすめ情報