Skip to content
Cookie string generator
Find file
Latest commit ea558ec @kazeburo Checking in changes prior to tagging of version 0.06.
Changelog diff is:

diff --git a/Changes b/Changes
index 54d9fe3..6c3eeb3 100644
--- a/Changes
+++ b/Changes
@@ -2,6 +2,10 @@ Revision history for Perl extension Cookie-Baker


+0.06 2015-06-29T05:53:57Z
+   - fix compatibility issue. #4 (Thank you shogo82148)
 0.05 2014-11-26T05:49:50Z

    - fix bug. accepts expires => 0


Cookie::Baker - Cookie string generator / parser


use Cookie::Baker;

$headers->push_header('Set-Cookie', bake_cookie($key,$val));

my $cookies_hashref = crush_cookie($headers->header('Cookie'));


Cookie::Baker provides simple cookie string generator and parser.


This module tries to use Cookie::Baker::XS's crush_cookie by default. If this fails, it will use Cookie::Baker's pure Perl crush_cookie.

There is no XS implementation of bake_cookie yet.


  • bake_cookie

    my $cookie = bake_cookie('foo','val');
    my $cookie = bake_cookie('foo', {
        value => 'val',
        path => "test",
        domain => '',
        expires => '+24h'
    } );

    Generates a cookie string for an HTTP response header. The first argument is the cookie's name and the second argument is a plain string or hash reference that can contain keys such as value, domain, expires, path, httponly, secure, max-age.

    • value

      Cookie's value

    • domain

      Cookie's domain.

    • expires

      Cookie's expires date time. Several formats are supported

      expires => time + 24 * 60 * 60 # epoch time
      expires => 'Wed, 03-Nov-2010 20:54:16 GMT' 
      expires => '+30s' # 30 seconds from now
      expires => '+10m' # ten minutes from now
      expires => '+1h'  # one hour from now 
      expires => '-1d'  # yesterday (i.e. "ASAP!")
      expires => '+3M'  # in three months
      expires => '+10y' # in ten years time
      expires => 'now'  #immediately
    • path

      Cookie's path.

    • httponly

      If true, sets HttpOnly flag. false by default.

    • secure

      If true, sets secure flag. false by default.

  • crush_cookie

    Parses cookie string and returns a hashref.

    my $cookies_hashref = crush_cookie($headers->header('Cookie'));
    my $cookie_value = $cookies_hashref->{cookie_name}  


CPAN already has many cookie related modules. But there is no simple cookie string generator and parser module.

CGI, CGI::Simple, Plack, Dancer::Cookie


Copyright (C) Masahiro Nagano.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Masahiro Nagano

Something went wrong with that request. Please try again.