perl
  • powershell
  • variables
  • 2016-07-15 107 views -1 likes 
    -1

    我有一個Perl腳本,它將參數傳遞給PowerShell並將數據返回給Perl。該值被存儲,但我想將該值分配給一個變量,我不知道如何這樣做。如何在Perl中將輸出保存到變量

    sub getvalue{ 
    print "Getting value...\n"; 
    my $renamecmd = 'Powershell.exe -executionpolicy remotesigned -File C:\Workspace\Utilities\pathtofile.ps1'." $val"; 
    my @output = `$renamecmd`; 
    foreach (@output) { 
    return $_; 
    } 
    } 
    
    $newvar = $_; 
    

    我上面有什麼不起作用。

    +6

    我不明白這個問題。在該循環中返回'@ output'的第一個元素。這意味着它會停止處理循環,因爲它返回。因爲'@輸出'是對子的詞彙,它就會丟失。但是由於你的代碼不會調用'getvalue'子,所以這並不重要,因爲它從來不會被執行。你賦值'$ newvar = $ _'會把一些東西分配給'$ newvar'(這是一個可怕的變量名稱btw)。請出示您的**真實**代碼。 – simbabque

    +0

    這是我的真實代碼,但我更改了一些項目的名稱 –

    回答

    0

    這是我的解決方案。

    sub getValue{ 
        print "Getting value...\n"; 
        my $renamecmd = 'Powershell.exe -executionpolicy remotesigned -File C:\Workspace\Utilities\pathtofile.ps1'." $var"; 
        my @output = `$renamecmd`; 
        $newvar= $output[3]; 
    } 
    

    再次,這只是一個模型,具有可怕的變量名稱。

    相關問題