Основы сеансов: вам нужно место для хранения данных сеанса (хранилище) и способ хранения и извлечения данных сеанса. В то время как некоторые фреймворки называют это State, оно действительно сводится к наличию ключа сеанса (или идентификатора сеанса) и его передаче обратно в ваше приложение с помощью файла cookie или параметра URL.
Ваш магазин может быть любым, что может хранить данные для вас. Вот некоторые примеры: простой файл, файл dbm, СУБД или кэш-память определенного типа.
Наиболее распространенная реализация, которая используется CGI :: session и Apache :: Session, состоит в том, чтобы иметь три поля в каждой записи внутри хранилища: session_id, session_data, expires_time.
Модули сеансов на CPAN заботятся о загрузке сеанса в начале запроса и сохранении его в конце.