Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

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:

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.


Comment on Re: Replacing with comma
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1010488]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (18)
As of 2014-07-10 13:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (210 votes), past polls