[Zurich-pm] Nachtrag: Was passiert intern, wenn man Perl mit einem Verzeichnis als einzigen Parameter aufruft?

Axel Beckert abe at deuxchevaux.org
Tue Oct 2 04:58:43 PDT 2012


Hi nochmal,

On Tue, Oct 02, 2012 at 11:28:05AM +0200, Axel Beckert wrote:
> wir sind heute bei der Kombination von Test Driven Development und
> Autotools auf einen interessanten Fall gestossen: Aus einem Testfile
> (d.h. aus einem der Files t/*.t):
> 
>   system_ok('perl', '../projektname', [...])
> 
> (Das ".." wird von den autotools als Pfad eingesetzt.)
> 
> Je nachdem, auf welcher Ebene das dann aufgerufen wird (./bla.t oder
> t/bla.t) ist '../projektname' das zu testende Skript oder eben das
> Basisverzeichnis des Projektes.
> 
> Interessanterweise schlägt der Test in letzterem Fall _nicht_ fehl.
> Genauso wie das hier:
> 
> ~ → perl /tmp
> ~ → echo $?
> 0
> ~ → 
> 
> Kann mir jemand erklären, was dabei bei Perl intern abgeht?

strace half ein wenig:

read(3, 0x20ecfe0, 8192)                = -1 EISDIR (Is a directory)

Auf #debian-perl kam als Kommentar dann noch ein "yeah, it feels
wrong", deswegen habe ich dann mal einen "minor" Bug-Report bei Debian
geschrieben:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=689412

		Gruss, Axel
-- 
/~\  Plain Text Ribbon Campaign                   | Axel Beckert
\ /  Say No to HTML in E-Mail and News            | abe at deuxchevaux.org  (Mail)
 X   See http://www.asciiribbon.org/              | abe at noone.org (Mail+Jabber)
/ \  I love long mails: http://email.is-not-s.ms/ | http://noone.org/abe/ (Web)


More information about the Zurich-pm mailing list