my $line = "1,2,3"; my $ft_count = 0; $ft_count++ while($line =~ m/[,]/g); if ($ft_count == 2) { my $n = 2; my $r = $n - 1; $line =~ s/((?:,.*?){}),/${1}|/; } say $line;