in reply to Replacing with comma
I need to reuse the code
First, you need to learn proper formatting. Use this code as a guide:
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;
I need to reuse the code
1) Replace all occurrences of | in the code with a comma.
2) Replace all occurrences of a comma in the code with a |. However, the pipe has a special meaning in a regex, so if you literally want to match a pipe in a regex, then you have to escape it with a backslash. Or, you can put the pipe in a character class:
[|]
... which will nullify its special meaning. The character class notation is easier to figure out than the hieroglyphics "\|", so I suggest you do that.
3) The substitution operator, s///, uses the syntax:
s/regex/string/That means if you want to match a pipe character in the regex part of the s///, you must escape it or use it in a character class.
|
|---|