初めてのPerl 第7章正規表現の世界 練習問題5

読み込んだ行のうち、2回連続して同じ文字が現れている行を表示する。

#!/usr/bin/perl

use strict;
use warnings;

open (FILE, "<", "names.txt");

#大文字小文字を区別して、連続した文字が2つ出てきたときにマッチさせる。
foreach my $name (<FILE>){
 if($name =~ /(.)\1/){
  print $name;
 }
}

=pod
#大文字小文字を区別しないで、連続した文字が2つ出てきたときにマッチさせる
foreach my $name (<FILE>){
  if($name =~ /(.)\1/i){
    print $name;
  }
}
=cut

読み込んでいるファイル内容は以下の通りです。

frederick
Fred
FRED
FRed
Fred
mississippi
Bamm-Bamm
llam
betty
BETTY
beTty

実行結果は以下の通りです。

ississippi
Bamm-Bamm
llam
betty
BETTY