为什么Perl不能find我在ClearCase中的文件?

这段Perl告诉我,ClearCase中的文件不存在,

$x = "PATH/TO/FILE" if (-e $x) { print "This file exists on the file system"; } else { print "I can't see this file"; } 

有没有人见过这个?

一些文件返回正常。 让我难住。

Clearcase视图是dynamic的,托pipe在unix上。

这段代码返回一个文件存在,而另一个不在同一个视图中的同一个文件夹中。

2 Solutions collect form web for “为什么Perl不能find我在ClearCase中的文件?”

Clearcase将其“文件”存储为目录

Aric试图告诉你的是,ClearCase使用扩展path名 ,“扩展”是因为它扩展了文件名和版本path

因此,在dynamic视图中,可以描述任何文件以显示其版本控制path:

 $ ct ls myFile $ ct descr -l myFile myFile@@/main/3 

在dynamic视图中,您可以实际浏览文件的版本(因此“作为目录的文件”)部分

 $ cd myFile@@ $ ls main $ cd main $ ls 3 $ cat 3 ... // content of third version of myFile 

现在,如果在这里使用了ClearQuest(问题跟踪系统),它将引用ClearCase的活动(更改文件集)。

但是对于ClearCase,在dynamic视图(实际上是“rmnamed”)中删除了文件的一个版本 (由ClearQuest引用或者通过其他途径获得)。
意思是一个文件可能被ClearQuest或某个ClearCase活动引用,但不能直接在dynamic视图中使用ClearCase。
但是,它的扩展path名仍然可以在同一个dynamic视图中访问。

Clearcase将其“文件”存储为目录。 你可以cd进入一个文件,并进入它正在使用的实际目录来存储文件的所有修订; 虽然操作系统挂钩通常工作,也许这导致Perl无法识别一些文件。

  • 如何在shell脚本中从postgresql中提取pg_backend_pid并将其传递给另一个进程?
  • 如何匹配除特定的空白字符之外的任何非空白字符?
  • 如何pipe理你的Perl应用程序的开发,构build和部署?
  • 如何比较Perl中的两个string?
  • 当我用Perl执行我的Python脚本时,为什么我没有得到任何语法错误?
  • 我如何find已安装的Perl模块的版本?
  • 我如何在Perl中重复使用N次string?
  • Perl的隐藏function?
  • 什么是Python迭代器的Perl版本?
  • Perl:虽然没有条件
  • 如何可靠猜测MacRoman,CP1252,Latin1,UTF-8和ASCII之间的编码