in reply to perl if statement

Hi Drsin,

It looks like you want to look up in a file and see if either one of two variables match the contents of the file. You're trying to do that in one statement (looks like you sorta copied a shell grep command), but you need some more steps. (You could do it in one command in Perl, but it looks like you want to have this in a script, so let's go with multiple steps as it will be easier to see what's going on.)

You will need to:

  1. use strict; and use warnings;
  2. Open the file -- see open or Path::Tiny
  3. Read the file -- see readline or Path::Tiny
  4. Store the contents in a list -- see perldata, push
  5. Compare your list of variables against the list items -- see perlsyn for conditionals and loops
  6. See if one thing matches another -- see perlrequick (regular expression quick start)
  7. if there's a match, print one thing
  8. or print the other

You have #7 and #8 down ;-) The best place to start for the rest, if you haven't already taken time to study it, is the basic Perl documentation perlintro which will touch on most of these things.

Hope this helps!


The way forward always starts with a minimal test.