in reply to Global replace issue

Just a minor observation regarding your use of sprintf and concatenation. You can dispense with the concatenation entirely by just including the concatenated text in the format string. E.g. replace

return sprintf("%.u" , ($1 - 32) / 1.8) . 'C'

with

return sprintf q{%.uC}, ( $1 - 32 ) / 1.8

Also, I'm not sure what you intend with the "%.u" format specifier, which will truncate your result. Perhaps something like "%.1f" would be more useful?

$ perl -E 'say sprintf q{%.uC}, ( 75 - 32 ) / 1.8;' 23C $ perl -E 'say sprintf q{%fC}, ( 75 - 32 ) / 1.8;' 23.888889C $ perl -E 'say sprintf q{%.1fC}, ( 75 - 32 ) / 1.8;' 23.9C $

I hope this is helpful.

Cheers,

JohnGG