in reply to detecting file open failure

Use 'perldoc -f -x' to get to the manual page of the filetest operators. To check if for example a file is executable, you would use if (-x $file) { ... }

To check if a file is corrupted there is no easy or generally usable way. If the file is a perl script you could try to check it with 'perl -c'

Replies are listed 'Best First'.
Re^2: detecting file open failure
by Anonymous Monk on Feb 02, 2009 at 16:39 UTC
    also, how can I test wether the value returned by the script is numeric or non-numeric?

      That depends on whether by numeric you mean a simple integer like 12 or a number like -12.15 or even 12E25. You might check that with a regex, similar to what kyle already posted

      chomp($processor); # removes \n # would check for whole numbers like 1, 12, 389 if (! $processor || $processor !~ /^\d+$/){ #would check for numbers with optional decimal point and + or minus si +gn if (! $processor || $processor !~ /^(+|-)?\d+(\.\d*)?$/){

      There is a cpan module that has all kinds of regexes predefined (don't rememer the name atm), if you want to check for more complex numbers, that module would be a good idea

      UPDATE: Note that in the example code you posted above you have a pointer to the result in $processor and not the result itself. If you just want the result of the ccc.ksh execution in $processor, better remove the \ in front of the left paren