У меня есть это регулярное выражение, которое я сделал для сравнения имен ОС со строкой в файле VMX.Все начиналось как отдельные elsif
оценки, но в итоге я превратился в одну if
оценку.Во всяком случае, вот код;Я пытаюсь найти способ сделать код чище, но каждый матч помещается на отдельной строке;больше не работает.
elsif ($vmx_file =~ m/guestOSAltName\s+=\s"Microsoft\sWindows\sServer\s2003,Web\sEdition"|"Microsoft\sWindows\sSmall\sBusiness\sServer\s2003"|"Microsoft\sWindows\s2000\sAdvanced\sServer"|"Microsoft\sWindows\s2000\sServer"|"Microsoft\sWindows\s2000\sProfessional"|"Microsoft\sWindows\s98"|"Microsoft\sWindows\s95"|"Microsoft\sWindows\sNT\s4"/) {
$virtual_machines{$vm}{"Architecture"} = "32-bit";
Обновлен код согласно предложениям,
elsif ($vmx_file =~ m/guestOSAltName\s+=\s"Microsoft\sWindows\sServer\s2003,Web\sEdition|Small\sBusiness\sServer\s2003|"2000\sAdvanced\sServer|2000\sServer|2000\sProfessional|98|95|NT\s4/) {
$virtual_machines{$vm}{"Architecture"} = "32-bit";