私はこの正規表現を使って、OS名をVMXファイルの行と比較しました。これは別々のelsif
の文章として始まりましたが、私は単一のif
という文章になりました。とにかく、ここにコードです。コードをきれいにする方法を見つけようとしていますが、それぞれのマッチを別々の行に置きます。それはもはや機能しません。このREGEXクリーナーはどのようにして作れますか?
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";
正規表現はTINYになりました。 – ianc1215
完璧な作品、私はあなたに "答え"を授与します。 – ianc1215