Main Page Content
Easy Perl Persistence Faker
Rated 3.74 (Ratings: 1)
Want more?
- More articles in Code
All Perl programmers have to spend some time on making
semi-persistent pages. A lot of this time is spent on writing the codeand the form. Now to make your life just a tad easier I've written asimple subroutine that will parse a form against some simple presetcriteria. This is the code :sub ParseForm { # Get parameters my $formtext = shift ; my $formref = shift ; # Now get the real hash form the reference
my %form = %{$formref} ; # Now we will parse the form for complex
# replacements $formtext =~ s/\%(.+?)\=(.+?)\=\>(.+?)\<\>(.+?)\%/$form{1ドル} eq 2ドル ? 3ドル : 4ドル/ego ; # And now we will do the same for simple # replacements $formtext =~ s/\%(.+?)\%/$form{1ドル}/ego ; # And return the result
return $formtext ;}This code will replace %varname% with the appropriate variable from
the form hash and %varname=text to check for=>one value<>or the other%will be replaced by "one value" if varname is text to check for or"or the other" if not.An amusing example in which this can be used is the following :
(application of this to a form is up to you)# define some dumb variables<%form = ( firstword => "marry" , secondword => "you" , ) ;# Automatically flush the buffer after each write
$| = 1 ;# Print the conversation
print "Will you marry? Are you cheating on me ? Answer: " ;# Get the cheating question
$cheat = <STDIN> ;chomp $cheat ; $cheat = lc($cheat) ;# And get the answer into the form
$form{'cheating'} = $cheat ;# Define the text to parse
$parsetext = qq~%cheating=no=>I will<>I will not% %firstword% %secondword%.~ ;# And do the mumbo jumbo
print &ParseForm( $parsetext , \%form ) ;# And get out of here
exit ;