Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Substitution in text files

by Angel (Friar)
on Jun 15, 2002 at 19:23 UTC ( #174865=perlquestion: print w/replies, xml ) Need Help??

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

Ok getting hammered by something that should not be that difficult again. I want to take a hash and substitute the keys with $keyname from a text file and place the hash value in it's place. I tried and tried and I cant get it to do the substitution
#hash that contins the data %recordData = %$hashRef; #gets the email address $emailAddress = $recordData{ "EmailAddress" }; $message = $original_message; local($/) = undef; foreach $key (keys %recordData) { my $subVar = $recordData{$key}; my $subKey = "\$" . $key; # prints the data to the screen ( debugging ) print "$subKey = $subVar\n"; $message =~ s/\$subKey/$subVar/o; print "$message"; }
any clue on how to get this to work?

Replies are listed 'Best First'.
Re: Substitution in text files
by Weasel (Sexton) on Jun 15, 2002 at 20:19 UTC
    you need not
    $message =~ s/\$subKey/$subVar/o;
    but rather
    my $qkey = quotemeta $key; $message =~ s/$qkey/$recorsData{$key}/;
    but your code snippet and your question gives me an idea that you're completely lost. Where's reading of a file after local($/)=undef;? (which is easier to write as just local $/;) where's file writing?

    To say, to answer a question you should know 50% of answer...

    Give us more details and your problem will be easier to advice...

Re: Substitution in text files
by jepri (Parson) on Jun 15, 2002 at 20:14 UTC

    replaces the literal '$subKey' with $subvar. What you might have wanted is


    I didn't believe in evil until I dated it.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://174865]
Approved by Ovid
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (5)
As of 2020-05-25 06:09 GMT
Find Nodes?
    Voting Booth?
    If programming languages were movie genres, Perl would be:

    Results (143 votes). Check out past polls.