in reply to Re: Altering an array with grep & map
in thread Altering an array with grep & map

Wow, that is beautiful, and very simple. Exact thing I was looking for. I also just learned a new opening method too, along with "line mode"<-(will check this out more)... Thanks gaal.

Additional question: Since I got other mentions about this, can I use other conditional statements within the "while" loop that would ignore the http:// or even rewite it back if it's changed?

How does this "fail silently"?

  • Comment on Re^2: Altering an array with grep & map

Replies are listed 'Best First'.
Re^3: Altering an array with grep & map
by gaal (Parson) on Jan 19, 2005 at 09:03 UTC
    You're welcome!

    I'm not sure what you want to do with "ignoring the http://". Do you want to filter this substring out of the output? Besically the BLOCK of the while loop is run for each line in the input, and you can do as many things as you like in it. So you can (for example) check if a line contains some specific text and decide not to print it out at all -- just put a

    next if /some indication that this line needs to be stripped/;

    before you print the line. Similarly, you can call s/// several times, so if you just wanted to delete the substring "http://", add s{http://}{}g; right next to your existing substitution.

    By "fail silently" I mean that we are attempting a substitution on all lines of the input, not first checking for a match then operating on only those inputs that match. The s/// operator can look at a line, fail to make a substitution, and not complain about it. In this sense it's silent. Think of s/// as encapsulating both the seach and the replace.