Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: (Ovid) Re: Regex to zero suppress

by mkmcconn (Chaplain)
on Dec 30, 2000 at 09:43 UTC ( #48976=note: print w/replies, xml ) Need Help??

in reply to (Ovid) Re: Regex to zero suppress
in thread Regex to zero suppress

Please take the following with a grain of salt. Ovid has already given the best answer.
It makes me wince, now, but it was actually used in production to strip leading zeros from numbers in a list, in the first real Perl program I ever wrote.

#!/usr/bin/perl -w @numberarray = qw(00000900011 10001000100 00022200101); for $digits (@numberarray){ @temparray = split (//,$digits); $incr=0; while ($temparray[0] eq 0) { shift @temparray; $incr++; } unshift (@temparray," "x$incr); $digits = join('',@temparray); print "$digits\n"; }

I couldn't discover a better way than to shift out the zeroes and unshift the replacing text, then join the result together.
It isn't pretty, but, as far as I can tell, it doesn't break.


And now, a monk, I never would have posted this (wonderful what a few weeks at perlmonks can do), but if I had, I would have suggested to novice mkmcconn that even taken with a grain of salt, numerous difficulties in his solution could be avoided by writing it this way:

#!/usr/bin/perl -wl use strict; my @numberarray = qw(000000 000002 001110 010201 010010 001000 0001 +20 010030); for (@numberarray){ next if $_ == 0; my @array = split //; my $incr = 0; while ($array[0] eq 0) { shift @array; $incr++; } unshift (@array,"\x20" x $incr); print @array; }
And then would have advised him (as a friend) of the topical difference between "Regex to zero suppress" and "Subroutine to remove zero-padding".

It will be interesting to find out what advice I might give myself someday, about this update.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://48976]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (1)
As of 2023-06-04 23:35 GMT
Find Nodes?
    Voting Booth?
    How often do you go to conferences?

    Results (22 votes). Check out past polls.