use strict; use warnings; package cookies; use Data::Dumper; $Data::Dumper::Indent = 1; $Data::Dumper::Useqq = 1; use CGI qw/:standard/; my %cookies = (); sub start { foreach ( cookie() ) { my %hash = cookie($_); print '### Debug ### Cookie: ', Dumper(%hash), '###### '; $cookies{$_} = \%hash; } 1; } sub get { my($name) = @_; return $name ? $cookies{$name} : \%cookies; } 1; package main; use CGI qw/:standard/; use Data::Dumper; $Data::Dumper::Indent = 1; $Data::Dumper::Useqq = 1; sub say { print "@_", "\n"; } $ENV{HTTP_COOKIE} = 'url=%2Fcms%2Fadmin%2F12%2F; user=test'; cookies::start; my $c = cookies::get(); say Dumper $c; my $z = cookies::get('url'); say Dumper $z; say 'URL ist ', $z->{'url'}; 1;