This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: perl test fails
- From: "Gerrit P. Haase" <gp at familiehaase dot de>
- To: Rob Clack <rnc at sanger dot ac dot uk>
- Cc: cygwin at cygwin dot com
- Date: Sat, 16 Aug 2003 00:17:04 +0200
- Subject: Re: perl test fails
- Organization: Esse keine toten Tiere
- References: <3F3CAEFF.6080604@sanger.ac.uk>
- Reply-to: "Gerrit @ cygwin" <cygwin at cygwin dot com>
Hallo Rob,
Am Freitag, 15. August 2003 um 11:59 schriebst du:
> Not sure if this is the right list for my question.
> cygwin 1.3.22-1 running under NT4.
> I have a perl script that runs an executable, so before actually running
> it, the code checks that the file exists and is executable, but the test
> fails under cygwin. Under linux and OSF1 it's fine.
> I cut out the relevant fragments and built a demo. The idea is that if
> the "if ( -x script )" works correctly, then I should get "script is
> executable" as output. Otherwise, it will execute the script, in which
> case the output will be what the script prints.
> Hope someone can tell me why -x doesn't work the way I'm expecting.
> -----------------------------------------------------------------------
> #!/usr/bin/perl
> # this is the perl script, called "try"
> if ( -x script)
^^^^^^^^^^^^ barewords are obviously a problem here, I'm not
sure if this really works under Linux, cannot test it here
though.
> {
> print "script is executable";
> }
> else
> {
> system("./script");
> }
> -----------------------------------------------------------------------
> # This is the 'executable'. For the demo, it's just a script with +x
> # permissions
> echo "I damn well am!"
> -----------------------------------------------------------------------
> # Here is the output I get
> rnc@ramsey ~
> $ ./try
> I damn well am!
#!/usr/bin/perl
$filename = "script";
if ( -x $filename) {
print "script is executable";
} else {
system("./$filename");
}
or
#!/usr/bin/perl
if ( -x "script") {
print "script is executable";
} else {
system("./script");
}
are doing the right thing.
Gerrit
--
=^..^=
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/