# perldoc > CGI::Session::Serialize::default

---
type: CommandReference
command: CGI::Session::Serialize::default
mode: perldoc
section: 3
source: perldoc
---

## Quick Reference
- `CGI::Session::Serialize::default->freeze($data)` — serialize session data to a string
- `CGI::Session::Serialize::default->thaw($frozen_string)` — deserialize a frozen string back to a data structure

## Name
Default serializer for CGI::Session — used to serialize session data before storing to disk.

## Synopsis
perl
use CGI::Session::Serialize::default;
$serialized = CGI::Session::Serialize::default->freeze($data);
$data = CGI::Session::Serialize::default->thaw($serialized);
## Options
- `freeze($class, $data)` — Receives class name and data to serialize. Returns serialized string on success, `undef` on failure. Set error message via `set_error()`.
- `thaw($class, $frozen)` — Receives class name and frozen string. Returns thawed data structure on success, `undef` on failure. Set error message via `set_error()`.

## Examples
perl
use CGI::Session::Serialize::default;
my $serialized = CGI::Session::Serialize::default->freeze({ user => 'alice', time => time() });
my $data = CGI::Session::Serialize::default->thaw($serialized);
## See Also
- [CGI::Session](https://www.chedong.com/phpMan.php/perldoc/CGI%3A%3ASession/markdown) — session management framework
- [CGI::Session::ErrorHandler](https://www.chedong.com/phpMan.php/perldoc/CGI%3A%3ASession%3A%3AErrorHandler/markdown) — error handling base class