http://qs321.pair.com?node_id=1126313

sumathigokul has asked for the wisdom of the Perl Monks concerning the following question:

This node falls below the community's threshold of quality. You may see it by logging in.

Replies are listed 'Best First'.
Re: Please find out the mistake in substitution function in the code??
by afoken (Chancellor) on May 11, 2015 at 13:51 UTC
Re: Please find out the mistake in substitution function in the code??
by GotToBTru (Prior) on May 11, 2015 at 15:42 UTC

    Your print OUT if (...) needs something to print.

    You should work out how you would do this manually in order to form your algorithm. I would suggest building a hash where the values from file2 are the keys, and the corresponding strings from file3 are the values. Then, for each line in file1, loop over the hash keys and replace with hash value if key is found in line.

    Dum Spiro Spero
      Your print OUT if (...) needs something to print.

      print will output the value of  $_ localized in the enclosing  while (<IN1>) { ... } loop.


      Give a man a fish:  <%-(-(-(-<

        I had to look at that again; of course you're right. But only lines for which the substitution is performed will print. I think that is not exactly what is wanted. Perhaps more like:

        while(...) { s/.../.../; print OUT; }

        The lines with recognized codes will be corrected; lines without codes will still be copied to the output.

        Dum Spiro Spero

      Hi GotToBTru...

      Since i want to automate this process and nets.txt and enabled_nets.txt files are all generated automatically, every time I will not know the contents of those files, in such case,. how can i make it as hash.... Do you find any mistake in this code??

        Using the arrays you have already loaded:

        %hash = map { $nets[$_] => $enabled_nets[$_] } 0..$#nets;
        Dum Spiro Spero