No.2ベストアンサー
- 回答日時:
open(FH,"member.txt");・・・(1)
while(<FH>){・・・・・・・・(2)
if(/^(\d+),/&&$1!=$flg){・・・(3)
$famly.=(split(/,|\n/))[1].',';・・・(4)
}
$flg=$1;・・・(5)
}
close FH;
(1)member.txtファイルを、ファイルハンドル「FH」に結び付けて読み込みモードでオープンする
(2)ファイルハンドル「FH」から1行ずつ読み込む
(3)行頭に数値、続いてコンマがあったら、(条件1)
数値の部分は()で括ってあるので特殊変数 $1 に代入される
$1値と、変数$flg値を比較して違っていたら(条件2)
条件1合致、かつ(&&)条件2合致ならば
(4)変数$famly に、行の文字列をコンマか改行文字で分割した2番目の要素にコンマを付けた文字列を連結する
(5)変数$flg に 特殊変数$1 の値を代入する
(3)(4)は、
chomp;・・・改行文字を削除
if(/^(\d+),(.+)/&&$1!=$flg){
$famly.=$2.',';
}
としても良さそうですが、これだと、データが文字コードShift_JISで特定の文字を含むときエラーになるから注意!
No.1
- 回答日時:
open(FH,"member.txt");
while(<FH>){
if(/^(\d+),/&&$1!=$flg){
$famly.=(split(/,|\n/))[1].',';
}
$flg=$1;
}
close FH;
ありがとうございます。この通りでできました。
ご迷惑でしょうが、解読について分かれば教えていただけないでしょうか?
/^(\d+),/ は、正規表現で先頭の数字がマッチを意味すると思いますが、&&$1!=$flgは理解できません。
どこでどう処理されて、結果"山田太郎,田中一郎,佐藤圭太"が出るのか解説をお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル 関数 指定の繰り返しの回数 以降(以前)を削除するには、 2 2022/04/24 10:29
- MySQL 【MySQL】本当に困っているので、助けてください。よろしくお願いします。 3 2023/06/03 14:24
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- その他(Microsoft Office) Outlookメール 連絡先の検索について 〈 ご説明 〉 Windows PC の Outlook 1 2022/09/23 14:43
- Excel(エクセル) エクセルの参照について教えてください 1 2022/12/08 16:06
- 演歌・歌謡曲 美空ひばり、鶴田浩二、林伊佐雄、東海林太郎、伊藤久男、霧島昇、藤山一郎、灰田勝彦などは軍歌の歌い手と 10 2023/06/07 16:19
- 野球 WBC日本代表 [2] 1 2022/06/07 21:52
- Visual Basic(VBA) 先ほど、回答者様によって教えていただいたのですがどうしたらいいか分かりません。 ユーザーフォーム上に 2 2023/02/21 22:25
- アニメ ちびまる子ちゃん 1 2023/05/11 09:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
めちゃきれい
-
エクセルで集計したい。
-
/bin/awk '{print $5}'ってどう...
-
apacheでPerl CGIが作動せず、5...
-
-T(汚染モード)でメールが送れ...
-
フォームを再送信しますか?
-
生成AI画像について
-
サーバーのエラーでおしえてく...
-
さくらサーバーにcgiフォームを...
-
latex使い方
-
htmlについて.sqlの表示
-
postmail(UTF-8)でメールが文字...
-
number 改行が追加できない
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで集計したい。
-
フォームを再送信しますか?
-
apacheでPerl CGIが作動せず、5...
-
ホームページでCGIのフォームを...
-
生成AI画像について
-
/bin/awk '{print $5}'ってどう...
-
入力フォーム(電話番号)
-
(フリーの)ツリー掲示版CGI、...
-
古ーくからフリーのtree.cgi掲...
-
VBAで条件から範囲を指定して色...
-
ホームページにメールフォーム...
-
一番簡単なCGI,掲示板の設置教...
-
CGIって何ですか?簡潔に教えて...
-
サーバーのエラーでおしえてく...
-
サイト訪問者の情報を取得したい
-
htmlからパラメータで、cgiに渡...
-
CGIで出力するhtmlの<!DOCTYPE ...
-
cgiからsendmailを送信で文字化け
-
POSTメソッドの最大容量について
-
ホームページにCGIを設置したの...
おすすめ情報