$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/((?:,.*?){$r}),/${1}|/; } print $line;