В отличие от ESX, где Вы можете указывать RAM, Hyper-V выделяет RAM, которую Вы устанавливаете на VM, поэтому если у Вас есть хост с 4 ГБ RAM, и 2 VM's, работающие с 2 ГБ каждый, Вы не можете запустить другого. ESX позволил бы Вам запустить другого и попытаться распространить доступную RAM между ними, но Вы заканчиваете с проблемами ресурса, если существует недостаточно.
Не совсем ясно, чему Вы пытаетесь соответствовать здесь, поскольку Ваш regex подразумевает, что Вы пытаетесь соответствовать в более общем плане, чем Ваше условное выражение и примеры, кажется, указывают. Я собираюсь предположить ради своего ответа, что Вы ищете материал, прибывающий из любого субдомена turbobit (под любым TLD, любым портом) подаваемый/download.php с набором параметра имени.
# unless you really just want to match anything with turbobit in the url # you should do this more explicitly if ($u =~ m,http://(?:[^/]+\.)?turbobit\.[^/]+/,) { # this conditional will be clearer if you break it up # we're using the non-capture notation for most of these because it didn't # look like you were actually using this data. if ($u =~ m,^http://(?:[A-Za-z]+[0-9-]+\.)?turbobit\.[^/:]+(?::\d+)?/download\.php.*[?&]name=([^&]+),) { my $name = $1; # you can use the concatenate operator, but why not just interpolate? print "${x}http://cdn.turbobit.net/SQUIDINTERNAL/name=${name}\n"; } }