in reply to how to split input data ?
I would do it like this. You'll notice that it's similar to a previous solution, but takes the extra step of intentionally failing to match at the end of the string. That way you don't end up with "89_" (where I'm using _ to signify trailing space).
In my example, I'm intentionally printing a '#' at the end of each string to demonstrate that there's no extra whitespace being appended to the end of the string.
use strict; use warnings; my @data = ( '12345678', '123456789' ); foreach my $number ( @data ) { my $modified = $number; $modified =~ s/(\d{2})(?!$)/$1 /g; print "$modified#\n"; }
Dave
|
|---|