1

XML::LibXML モジュールの findnodes() 関数を使用して、XPath 式内で Perl 変数を使用するにはどうすればよいですか? これは私が得たものです:

my $variable = 1;
foreach my $node1 ($doc->findnodes('par/par1/par2[@id = $variable]'))
{

}

しかし、うまくいかないようです。ありがとう。

4

2 に答える 2

5

一重引用符を使用して補間することはできません。二重引用符を使用するか、補間を行う別の形式の引用符を使用する必要があります

"par/par1/par2[\@id = $variable]"

ただし、それは変数ではないと想定して@idいるため、そのシジルをエスケープする必要があります。そうしないと、変数としても扱われます。を使用してuse strictいる場合 (常に使用する必要があります)、コンパイラ エラーが発生します。

言及される可能性のある他の形式の引用

  • qq()、これは二重引用符とまったく同じです
  • ヒアドキュメント
于 2013-10-15T09:53:49.203 に答える