UNIXのPerlを使用して作業ディレクトリ(WebShpere MQキューマネージャを設定するため)を変更しようとしています。Perl chdirエラー
私はディレクトリ/var/mqm/qmgrs/Q\!MAN
に行かなければならないと、私は次のコードスニペットを使用している:
$QueueManagerPathName = 'Q\!MAN';
chdir('/var/mqm/qmgrs/'.$QueueManagerPathName) or die "Cannot change to dir : /var/mqm/qmgrs/".$QueueManagerPathName."\n";
をしかし、それはディレクトリを変更しないと、私は、変数$QueueManagerPathName
を削除すると
Cannot change to dir : /var/mqm/qmgrs/Q\!MAN
を与えるダイスそのうまくいって、それは"\!"
部分を使っている間違いであると私に結論づけます。
ありがとうございます。私はそれをUNIXのシェル表現で誤解しました。 '$ QueueManagerPathName = 'Q!MAN';を使ってうまくいきました。もう一度ありがとうございます – DarRay
文字列をシェルに渡している場合(例えば、 'system'やbackticksを使って)、これは必要ですが、 'chdir'はPerlでネイティブです。 –
@Colin: 'system(" ls!test/* ")'と 'print \' ls!test/* \ ''も同様に働く –