#!/usr/bin/perl -w use strict; use Data::Dumper; my $x = 'a:1:{s:4:"Name";s:5:"sandy";s:5:"sport";s:7:"cricket";}'; my %hash; my ($key,$value); my @tokens = $x =~ m/"(.*?)"/g; $hash{$key}= $value while (($key, $value)= splice(@tokens,0,2)); print Dumper(\%hash); __END__ prints $VAR1 = { 'sport' => 'cricket', 'Name' => 'sandy' };