http://qs1969.pair.com?node_id=767572


in reply to Re: character replace
in thread character replace

All the entities are in the text file. If the & exists in a file it should not be replaced, it only & is there then it has to be replaced with &

Replies are listed 'Best First'.
Re^3: character replace
by Corion (Patriarch) on Jun 02, 2009 at 12:30 UTC

    That's great. So now you can start writing your code.

    In case you haven't noticed so far, Perlmonks is not a code writing service. You are expected to write your code yourself. We will help you with specific problems you have in your code but we will not write your programs for you.

      #!/usr/bin/perl open FH,'ent.txt'; @data=<FH>; $text='&bush&amp;'; foreach $dat(@data){ $text =~ s/&/&amp;/g; print $text; }
      ent.txt file contains all the entities. This substitutes all the & with &

        Maybe it would be a good exercise to go through the code you've posted and to explain what every line is supposed to do. Especially the intention of these two parts is important:

        open FH,'ent.txt'; @data=<FH>;

        What does @data contain? Is data a good name for that?

        foreach $dat(@data){ $text =~ s/&/&amp;/g;
        1. Why are you iterating over @data?
        2. What does change in the loop code for each iteration?
        3. How does the code in the loop reflect the rules you set up for when to replace & with &amp;?

        What is the output you see, and what is the output you expect. How does the output you expect relate to the rules you've set up for when to replace &?

        In answering these questions to yourself, you will find the steps you need to take to modify your program from a collection of lines into something that does what you want.