I'm surprised there arent plenty of nodes of info on matching any type
of number. But anyway, my problem has 2 steps
GOAL 1
# have $1 contain everything but the leading "0:"
# and the trailing ",$intOrFloat" ... in this case ",4.00"
# http://search.cpan.org/~nwclark/perl-5.8.3/pod/perlretut.pod
$intOrFloat = qr/^[+-]?\ *(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/;
$_ = "0:20,1.00,g,1.00;65,4.00,g,4.00";
/0:(.)+,$intOrFloat/ and warn $1;
# (for some reason $intOrFloat is not matching)
GOAL 2
# $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 => ... }