[OT] perl help on number modification

Bill Davidsen davidsen at tmr.com
Fri Jan 15 23:04:38 UTC 2010


Gianluca Cecchi wrote:
> On Thu, Jan 14, 2010 at 11:10 AM, Gianluca Cecchi
> <gianluca.cecchi at gmail.com> wrote:
>> Todo:
>> 1.20 must become 1.2
>> 1.00 must become 1
>> 1.25 must remain the same
> 
> Thanks to Dave, Jake and Geoffrey even if my answer was OT... thanks
> also for the perl links
> 
> For Jake:
> the problem is that in your example I think that perl assumes they are
> numbers and renders them correspondingly. In my case, I get them as
> strings during the workflow, so that perl doesn't manage
> automatically...
> For example:
> perl -le '$foo=1.00; print $foo'
> 1
> [gcecchi at tekkaman ~]$ perl -le '$foo="1.00"; print $foo'
> 1.00
> 
> BTW, it was the correct regex that I missed. Simple to read after you
> pointed out, but (at least for me) difficult to catch initially... ;-)
> Actually I had to make the job in awk where I then easily got the same
> effect with:
> sub(/\.?0+$/, "", foo)
> 
Does that do what you want? I would think that you want "1." to become just "1" 
as well.

In perl: perl -e 'while(<>) { s/[.0]+$//; print "$_\n" }'

-- 
Bill Davidsen <davidsen at tmr.com>
   "We have more to fear from the bungling of the incompetent than from
the machinations of the wicked."  - from Slashdot


More information about the users mailing list