use strict; use warnings; use 5.010; my $str = '20091224'; if ($str =~ m/([0-9]{8})/) { say join '|', unpack "A4 A2 A2", $1; }