use warnings; use strict; use Data::Dump qw(dump); my $checksum = '0815AADEBADBADBADBAD'; my @parts = unpack('(A4)*',$checksum); dump @parts; # ("0815", "AADE", "BADB", "ADBA", "DBAD")