it is possible the confusion in the original code arose because GBp (note capitalisation vs GBP) is sometimes used for prices in whole pennies, so maybe the original intention was # divide GBp quotes by 100 # <-- note GB[pP] case if ( ($info{ $stock, 'currency' } eq 'GBp') ||...