in reply to Re: Efficiency issues in text parsing
in thread replacing text in specific tags

The "@" is just the seperator for the RegEx which starts with "s@". The "e" is a modifier that specifies that the substitution part should be evaluated and the result be taken as the real substitute. And since the last line is always the return value, I just put $var as the last value, because it contains the substitue.
Cheers,
CombatSquirrel.
Entropy is the tendency of everything going to hell.
  • Comment on Re: Re: Efficiency issues in text parsing

Replies are listed 'Best First'.
Multiline Mode
by Anonymous Monk on Sep 05, 2003 at 08:40 UTC
    Hi, I am using

    $/="^Z";

    $*=1;

    for switching ON the multiline mode in my file while doing some regular expression find and replace.

    How to switch it OFF.

    Is it possible to ON and OFF the mode in the same script.

    please advice

      You might be looking for the /s modifier. Have a look at perlre.
      Cheers,
      CombatSquirrel.
      Entropy is the tendency of everything going to hell.
        Hi,

        I have a file with the following text:

        INPUT:

        {B001:B001}
        {B002:B002}
        {B003:B003}
        {B00kr:B004}
        {B00krup:B005}
        {B00krupa:B006}
        {B007:B007}
        {B008:B008}

        and my code is producing the following output:

        OUTPUT:

        1:1:1
        2:2:2
        3:3:3
        kr:4:
        krup:5:
        krupa:6:
        7:7:7
        8:8:8

        i.e., for 4,5 and 6 the third value is missing, pls review the code and suggest me what to do.

        CODE:

        while(<IN>) { if(/\{B00(.+?):B00(.+?)\}/){ $values{$2} = $1; print "$1:$2:$values{$2}\n"; } }

        I guess, $values{$2} takes only numeric argument

        But I need this to search with the $2 argument only, because I need to replace the text of an another file as

        from

        <x-ref refid="B00kr,B00krup,B00krupa">

        to

        <x-ref refid="B004,B005,B005">