質問させていただきます。
メールヘッダに対して以下のプログラムを実行します。
~略
$file_data_str = join("", @file_data);
@received_datas = split(/Received:/, $file_data_str);
@received_datas = reverse(@received_datas);
foreach $sorted(@received_datas){
if(($sorted =~ /by\s\w+.abc.jp/) and ($sorted =~ /(\[\d+\.\d+\.\d+\.\d+\])/)){
$& =~ /(\d+\.\d+\.\d+\.\d+)/;
$ipadd = $1;
print $ipadd;
print "\n";
}
}
}
exit;
すると、by\s\w+.abc.jpを含むReceived行のIPアドレスが全て抽出され、複数出力されます。(以下実行結果)
114.114.96.20
158.217.208.15
私はこの初めの"114.114.96.20"のみを出力したいのですが、どうしたらいいでしょうか?
助言のほどをお願いいたします。
No.1ベストアンサー
- 回答日時:
114.114.96.20
158.217.208.15
この2つの違いは?
具体的、どんなものは出力したくて、どんなものは出力したくないのですか?
前回の続きだとして
・最初に見つかったものだけを出力したい
→
1つ出力したところで、lastとかでループから抜ける。
出力したかどうか、何番目かを記憶する変数を用意して、1つめのときだけ出力する 等
・( IPアドレス [IPアドレス])になっている行だけを出力したい
→ ifで判定する条件を、これだけがマッチするようにする
・IPアドレスが特定の範囲だったら
→抜き出したIPアドレスから値を取り出し、その範囲かどうかを判定する
など、目的が違えば、やり方も変わります
この回答への補足
kmee様、続けてありがとうございます。
"初めに見つかったものだけを出力したい"、ということでした。
目的がはっきりしていませんでした、申し訳ありません。
アドバイスとおりにすこしやってみます。
ありがとうございました。
lastをつければ一発でした。。。
なぜこんなことにきがつかなかったのか、猛省してます。
本当にお世話になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 unconditionalとは? 3 2022/08/26 21:31
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Outlook(アウトルック) 休みが明けてメールをみたらやばいです 3 2022/08/17 09:03
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- 英語 英文の添削をしてほしいです。 2 2022/07/12 12:07
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- その他(ネットショッピング・通販・ECサイト) 国際便の局留めについて 1 2022/03/31 15:48
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perl の外部モジュールの利用方法
-
perlで2次元配列をサブルーチ...
-
テキストファイルで提出とは?
-
vlookupがうまくいきません、教...
-
PerlでUTF-8のファイルの文字列...
-
プログラマーになるにはどうす...
-
perlのrequireの動き方について...
-
perlの構文でカンマの意味が分...
-
perlについての質問
-
Windows10においての『Perl』の...
-
Perlで特定文字列から特定文字...
-
INDIRECT 横に再度抽出したい
-
Wallpaper Engineでおすすめの...
-
perlのgrepでmyを付けた場合と...
-
Perlで、「が」を、「...
-
perlプログラミング 空白行削除
-
Perlで時間の計算
-
ペプシコーラとコカ・コーラとD...
-
perlをバージョンアップしたら...
-
openした後、closeしないでプロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルで提出とは?
-
openした後、closeしないでプロ...
-
perlをバージョンアップしたら...
-
INDIRECT 横に再度抽出したい
-
Perl の外部モジュールの利用方法
-
Perlで特定文字列から特定文字...
-
Perlのエラーについてご教授く...
-
bashスクリプト
-
Strawberry Perl for Windows ...
-
perlで2次元配列をサブルーチ...
-
TeraPadエディターの操作方法に...
-
アルファベットに付いて質問し...
-
perlのflock関数でロックをかけ...
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
Wallpaper Engineでおすすめの...
-
Perlで時間の計算
-
perlのrequireの動き方について...
-
perlでリテラル値はメモリにど...
-
画像が表示でnull; this.src
おすすめ情報