Я бы порекомендовал разделить регулярное выражение на отдельные переменные, а затем модифицировать одно из них за раз. Таким образом, вы можете найти проблему самостоятельно.
Я не уверен, что кто-то потрудится отладить вашу программу.
Пример:
my $part1 =qr/http:\/\/([0-9.]{4}/;
my $part2 = qr/.*\.youtube\.com/;
#etc ... then
if (m/^part1|$part2....