in reply to Multiline Mode
in thread replacing text in specific tags

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

Replies are listed 'Best First'.
arrays and hash tables
by texuser74 (Monk) on Sep 25, 2003 at 04:06 UTC
    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">

      It works for me. Execute the following:
      @lines = qw( {B001:B001} {B002:B002} {B003:B003} {B00kr:B004} {B00krup:B005} {B00krupa:B006} {B007:B007} {B008:B008} ); for (@lines) { if(/\{B00(.+?):B00(.+?)\}/){ $values{$2} = $1; print "$1:$2:$values{$2}\n"; } } __END__ 1:1:1 2:2:2 3:3:3 kr:4:kr krup:5:krup krupa:6:krupa 7:7:7 8:8:8
      CombatSquirrel.
      Entropy is the tendency of everything going to hell.

        hi,

        I have a ascii text file with the following text

        Aaaa <xx>BBBBB</xx> Ccccc

        Bbbb <xx>CCCCC</xx> Ddddd

        i need to just change the text between <xx> tag to lowercase.

        Please help me.