use strict; use warnings; my $string= "012345678901234567890123456789"; $string = sprintf "%5s-%5s-%5s
%5s-%5s-%5s",$string=~/(\d{5})/g; print $string,$/; #### use strict; use warnings; use Tie::Cycle; tie my $cycle, 'Tie::Cycle', [ qw( - -
) ]; my $string= "012345678901234567890123456789"; $string =~ s/(\d{5})(?!\b)/$1$cycle/g; print $string;