Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: Replacing with comma

by 7stud (Deacon)
on Dec 27, 2012 at 10:33 UTC ( #1010488=note: print w/replies, xml ) Need Help??

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:


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.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1010488]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (2)
As of 2018-04-24 16:44 GMT
Find Nodes?
    Voting Booth?