Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

(jjhorner)replacing values via web

by jjhorner (Hermit)
on Jul 18, 2000 at 16:10 UTC ( [id://22973]=note: print w/replies, xml ) Need Help??


in reply to replacing values via web

A quick revision of your current code:

foreach my $thing (@lines) { if ($thing =~ /<% INCLUDE exclusives(\d+)\.tmpl %>/) { my $num = $1 == 1 ? 3 : 1; $thing =~ s/<% INCLUDE exclusives(\d+)\.tmpl %>/<% INCLUDE exclusives$ +num\.tmpl %>/; } }

As mentioned above, you should get the number of files from the directory to prevent your code from getting too far away from reality.

By the way, get in the habit of using '-w' on your hash-bang line and using the 'strict' pragma. If using Perl 5.6.0, use the 'warnings' pragma. They will save you a ton of debugging time.

HTH

UPDATE: An observant person below asked whether the $_ variable could be changed and the changes affect the @lines array, (I used $_ instead of $thing in my first version). I looked around in the Perl Cookbook (from my Perl CD Bookshelf), and noticed that they never used the $_ variable to do something with each element of an array, so I decided to change mine just to be safe. I'm pretty sure it will work, but I didn't want to assume too much.

J. J. Horner
Linux, Perl, Apache, Stronghold, Unix
jhorner@knoxlug.org http://www.knoxlug.org/

Replies are listed 'Best First'.
RE: (jjhorner)replacing values via web
by le (Friar) on Jul 18, 2000 at 16:21 UTC
    Just a dumb question:

    Will a substitution on $_ find its way into the array? (Will the array contents get changed when one changes $_?)
      Yes it will since the array element is an lvalue.

      From perlsyn:

      If any element of LIST is an lvalue, you can modify it by modifying VAR inside the loop. That's because the foreach loop index variable is an implicit alias for each item in the list that you're looping over.

      Nuance

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://22973]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (11)
As of 2024-04-19 16:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found