http://qs321.pair.com?node_id=106800

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

Oh wise ones, I certainly hope you can enlighten me on this particular problem I'm having with FreezeThaw.pm

Current setup:
perl 5.005
mysql 3.23.24
FreezeThaw.pm 0.41

Here's the scenario, a session handler module written from scratch by me handles all input form variables, each form variable passed in through the HTML pages get processed and added into a hash called %session_vars which is then frozen to a session record through MySql. This works quite well throughout the program, but one snag I've run into kinda breaks FreezeThaw and errors out with the following error:

Frozen string too short: `$10| OK', expect 14 at /usr/lib/perl5/site_perl/5.005/FreezeThaw.pm line 313
FreezeThaw::thawString called at /usr/lib/perl5/site_perl/5.005/FreezeThaw.pm line 452
FreezeThaw::thawScalar(235) called at /usr/lib/perl5/site_perl/5.005/FreezeThaw.pm line 338
FreezeThaw::thawArray called at /usr/lib/perl5/site_perl/5.005/FreezeThaw.pm line 453
FreezeThaw::thawScalar(4) called at /usr/lib/perl5/site_perl/5.005/FreezeThaw.pm line 624
FreezeThaw::thaw('FrT;@20|$15|unitman.company$0|$14|unitman.action$4|Edit$9|subact...') called at ../lib/Authorization.pm line 230
Authorization::get_session('96443fe0bd30d7ba696247502898af7c') called at ../lib/TestUnitMan.pm line 36
TestUnitMan::start('96443fe0bd30d7ba696247502898af7c', 'TestUnitMan', undef) called at /www/skibc/dev/public_html/sbin/postillion.pl line 90

What's going on is the following: I have multiple submit buttons throughout the page that is generated for the user, the values inside the names are conditional flags that the script bases decisions on. All fine and dandy so far... if I create a form submit button with a value of "    OK    " in order to create a "nicer" button this breaks freezethaw the second time through, the first time it takes the frozen session and thaws it out no problem and the script chugs along, if the previous submit key is still in the session hash FreezeThaw cannot seem to Thaw the data and dies with the above error. The actual record is correct if I look at it in the database table, all the spaces are there etc. Can you tell me if it's my logic or FreezeThaw? I've been battling with it for a day now.