#!/usr/bin/perl -w use strict; $_ = '%MYBOARD{project1|nameofproject1 remarks="Good,Verygood,bext,excellent" grade="7" teacher="Priyanka"}%'; my %map; $map{$1} = $2 while s/^.*? (\S+)="([^"]+)"//g; print "$_: $map{$_}\n" for keys %map; #### grade: 7 teacher: Priyanka remarks: Good,Verygood,bext,excellent #### print map {"$1: $2\n" if /(\S+)="([^"]+)"/} split;