Your code is trying to match a specific string, not a string of certain length. If you want any string between any two tags(the same tags) that is of specific length, then use a regex like this:
if ($record =~ /<(.+)>([^<>]{58})<\/\1>/g) {print "$2\n";}