Hi, still useless at PERL and needing help.

I have a FLASH interface that you can fill in and then these entries are updated in a txt file that can be reloaded later on. Unfortunately if you try to update the txt file with entries containing spaces and carriage returns the updateed file has NO values for these entries. Here's the PERL:

#use IO::Socket::INET;

require "calender/cgi-bin/subparseform.lib";
require "calender/cgi-bin/logfile.lib";

$y = $formdata{'unknowny'};
$m = $formdata{'unknownm'};
$mname =$formdata{'unknownmname'};
$nodays =$formdata{'unknownnodays'};

$tempd = eval("unknownd$f");
eval("\$unknownd$f = $formdata{$tempd}");

$txt ="calender\/y$y\m$m\.txt";
open LOG_FILE,(">$txt");
print LOG_FILE ("\&y\=$y\&m\=$m\&mname\=$mname\&nodays\=$nodays\&\n");

$tempa = eval("\$unknownd$f");
$tempb = eval("d$f");
print LOG_FILE ("\&$tempb\=$tempa&\n");
close (LOG_FILE);
With "subparseform.lib" being the usual one that contains:

$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$key the same.

I know I need the updated txt file to have %20 and %0A inside it, but how to get them there in the right place?