Re: Some perl regex help - modperl

This is a discussion on Re: Some perl regex help - modperl ; On Sun, 29 Jun 2008, Alexander Burrows wrote: > > Hello again all. Been a while since I've posted here but needed some help on > a regex I was trying to write. > > $line =~ tr/(\(|\)| )/(\(|\)|\<|\>)/g; Simplest ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Re: Some perl regex help

  1. Re: Some perl regex help



    On Sun, 29 Jun 2008, Alexander Burrows wrote:

    >
    > Hello again all. Been a while since I've posted here but needed some help on
    > a regex I was trying to write.
    >
    > $line =~ tr/(\(|\)|<|>)/(\(|\)|\<|\>)/g;


    Simplest approach is to make a hash of the substitutions and use
    an "e" executed regexp

    my %hash = ('('=>'(',')'=>')','<'=>'<','>'=>'>');

    $line =~ s/([()<>])/$hash{$1}/eg;

    >
    > This does not work at all in perl so I found so I replaced the tr with s and
    > the search part works as expected but the replace does not. I've been trying
    > to read around forums and regex documents for perl but they seem unorganized
    > and cryptic. So any help would be appreciated.
    >
    > -Alexander
    > --
    > View this message in context: http://www.nabble.com/Some-perl-rege...p18188634.html
    > Sent from the mod_perl - General mailing list archive at Nabble.com.
    >
    >



    --
    The Wellcome Trust Sanger Institute is operated by Genome Research
    Limited, a charity registered in England with number 1021457 and a
    company registered in England with number 2742969, whose registered
    office is 215 Euston Road, London, NW1 2BE.


  2. Re: Some perl regex help


    This worked great thanks. Was exactly what I was looking for.

    -Alexander


    James Smith-7 wrote:
    >
    >
    >
    > On Sun, 29 Jun 2008, Alexander Burrows wrote:
    >
    >>
    >> Hello again all. Been a while since I've posted here but needed some help
    >> on
    >> a regex I was trying to write.
    >>
    >> $line =~ tr/(\(|\)|<|>)/(\(|\)|\<|\>)/g;

    >
    > Simplest approach is to make a hash of the substitutions and use
    > an "e" executed regexp
    >
    > my %hash = ('('=>'(',')'=>')','<'=>'<','>'=>'>');
    >
    > $line =~ s/([()<>])/$hash{$1}/eg;
    >
    >>
    >> This does not work at all in perl so I found so I replaced the tr with s
    >> and
    >> the search part works as expected but the replace does not. I've been
    >> trying
    >> to read around forums and regex documents for perl but they seem
    >> unorganized
    >> and cryptic. So any help would be appreciated.
    >>
    >> -Alexander
    >> --
    >> View this message in context:
    >> http://www.nabble.com/Some-perl-rege...p18188634.html
    >> Sent from the mod_perl - General mailing list archive at Nabble.com.
    >>
    >>

    >
    >
    > --
    > The Wellcome Trust Sanger Institute is operated by Genome Research
    > Limited, a charity registered in England with number 1021457 and a
    > company registered in England with number 2742969, whose registered
    > office is 215 Euston Road, London, NW1 2BE.
    >
    >


    --
    View this message in context: http://www.nabble.com/Some-perl-rege...p18193673.html
    Sent from the mod_perl - General mailing list archive at Nabble.com.


+ Reply to Thread