2013-08-06 55 views
0

我有一個散列數組,我在的msg->attach()函數中解除引用。代碼如下:Perl Mime :: Lite散列陣列derefrence

for my $href (@$aref){ 
    $msg->attach(
      Type  => 'text', 
      Data  => "productype: $href->{prodtype} product: $href->{product} qbs_id:$href->{qbs_id}\n"; 
    ); 
} 

它表示上例中的語法錯誤。請告知我,如果這是一個正確的方式,將msg->attach()放在一個循環中,或者我們無法將其保持在一個循環中。謝謝。

+0

'qbs_id'處的'$ href'解除引用被破壞(至少在發佈的代碼片段中)。 – collapsar

+0

我對編輯部分感到困惑。對不起。我編輯過它。請你再看一遍。 – deep

+0

留意amon的通知:「attach」調用的參數列表仍然以';'結尾,即合成無效! – collapsar

回答

3

在參數列表attach的內部,可能不會出現分號;。使用逗號,到單獨的參數:也可以省略

for my $href (@$aref) { 
    $msg->attach(
     Type => 'text', 
     Data => "productype: $href->{prodtype} product: $href->{product} qbs_id:$href->{qbs_id}\n", 
    ); 
} 

尾隨逗號,但我認爲不好的風格。

+0

我已經再次編輯它。請檢查。對困惑感到抱歉。 – deep

+0

@deep好的。我關於分號的觀點仍然存在。 – amon

+0

採取的一點。它工作正常。但是這是作爲郵件的附件。我希望它在電子郵件的正文中。請你能提出一些建議。謝謝。 – deep