my $nrrepl = $block =~ s/11110100.{8}(.{1520})11110100.{8}(.{464}).{1056}/$1$2/g; my $outblocksz = $blocksz - ($nrrepl * 1088); $final = pack("B*", substr($block,0,$outblocksz)); # this should work