viffer has asked for the wisdom of the Perl Monks concerning the following question:

(Morning|Afternoon|Evening) all. I suspect I have the dumbest question ever. :(

I'm looking at code I wrote myself and have absolutely NO idea what it does. I'm not even sure what to google to find the answer.

The question is, what does the below "if" statement do,

my (@old_ps_dirs, $old_ps_dir); @old_ps_dirs = glob ("$SrceDir/TS[0-9]A"); foreach $old_ps_dir (@old_ps_dirs) { if ((-C $old_ps_dir) > 1) { run_command ( "rm -rf $old_ps_dir" ); } }
I suspect that "if -C" must count the number of directories, and if it's greater than 1 it performs the next statement (ie deletes them).

I was probably trying to ensure I always had the previous days directory before deleting it. Patently if that was the case, it won't work as the next day there will be two directories and it will delete them both!

For the life of me I can't find what the -C option is anywhere.

Replies are listed 'Best First'.
Re: Probably a REALLY stupid "If" question
by moritz (Cardinal) on May 15, 2012 at 08:45 UTC
Re: Probably a REALLY stupid "If" question
by AnomalousMonk (Archbishop) on May 15, 2012 at 13:02 UTC

    All the file test built-in functions (which  -C is, not an option) can also be found from the command line by
        perldoc -f -X
    (see also perlfunc).