Thank you
Regexp::Common -
use Regexp::Common qw /number/;
# GOAL:
# have $1 contain everything but the leading "0:"
# and the trailing ",$intOrFloat" ... in this case ",4.00"
$_ = "0:20,1.00,g,1.00;65,4.00,g,4.00";
/0:(.+),($RE{num}{int}|$RE{num}{real})/ and warn $1;
# SUBGOAL:
# $1 contains a series of triplets separated by semicolons
# Each triplet consists of price,quantity,unit_of_measure
# The goal is to create an array of hashrefs with this data:
# { price => ..., quantity => ..., unit_of_measure => ... }
subgoal is a piece of cake.