私は、行を配列にすることでファイルを開きます。重複した値を含む正規表現に基づいて、このファイルの内部にあります。正規表現が一致する場合は、それを数えたいと思います。正規表現は次のようになります $b =~ /\/([^\/]+)@@/
私は$1
値と一致したい。perl count line in double looping、正規表現に1を加えた場合+1
my @array = do
{
open my $FH, '<', 'abc.txt' or die 'unable to open the file\n';
<$FH>;
};
以下は私のやり方です。ファイル内に同じ行が表示されます。助けてくれてありがとう。以下は
foreach my $b (@array)
{
$conflictTemp = 0;
$b =~ /\/([^\/]+)@@/;
$b = $1;
#print "$b\n";
foreach my $c (@array)
{
$c =~ /\/([^\/]+)@@/;
$c = $1;
if($b eq $c)
{
$conflictTemp ++;
#print "$b , $c \n"
#if($conflictTemp > 1)
#{
# $conflict ++;
#}
}
}
}
いくつかのサンプルデータであり、2つの文が重複
/a/b/c/d/code/Debug/atlantis_digital/c/d/code/Debug/[email protected]@/main/place.09/2
/a/b/c/d/code/[email protected]@/main/place.09/0
/a/b/c/d/code/.settings/[email protected]@/main/4
/a/b/c/d/code/[email protected]@/main/2
/a/b/c/d/code/[email protected]@/main/CSS5/5
/a/b/c/d/code/[email protected]@/main/CSS5/10
/a/b/c/d/code/[email protected]@/main/place.09/0
/a/b/c/d/code/[email protected]@/main/place.09/0
/a/b/c/d/code/[email protected]@/main/2
/a/b/c/d/code/.**[email protected]@**/main/CSS5/2
/a/b/c/d/code/.**[email protected]@**/main/CSS5/2
/a/b/c/d/code/[email protected]@/main/CSS5/3
を有効にするには、いくつかのサンプルデータと所望の出力は答えることがこの質問が容易になります。また、単一のchar変数名は厄介です。 – Sobrique
配列の各要素を繰り返し処理し、パターンマッチでいくつかのデータを選択してから、累積回数を数えようとしているようです。あれは正しいですか? – Sobrique
はい私はパターンに基づいてこれを達成しようとしています。 – Mike