on Wed, 21 Aug 2002 08:02:02 GMT, [EMAIL PROTECTED] (Javeed Sar)
wrote: 

> # I want to grep for files with  .dsp or .vbp  extensions  here,
> if the number of files with extension  .dsp or .vbp is > 1 i
> should exit saying project exists. or else send mail.
> 
> am i doing the right thing?

No you are not. For one, you are not using warnings and strictures.

> @projectFilesExist = <$file\{*.dsp,*.vbp}>;

I wouldn't use glob here. After reading

        perlmod File::Glob

and experimenting quite a bit on my win32 system, I don't seem to get 
the results I want (most of which has to do with the backslash I 
guess ;-).

You don't say what's in $file, so it's a bit hard to comment here.
However, I would opt for a simple (portable) opendir, readdir, 
closedir sequence, and grep the results for .dsp and .vbp files.

When you say 'if the number of files with extension .dsp or .vbp 
is > 1', do you mean that at least one .dsp and one .vbp file should 
exist, or would e.g. two .vbp files also be OK? You can't see the 
difference from your code.

The following code checks a directory for the existence of vbp and 
dsp files:

    #!/usr/bin/perl
    use strict;

    my $dir = "c:/whatever";

    opendir DIR, $dir or die "Cannot open $dir: $!";
    my @files = readdir DIR or die "Cannot read files from $dir: $!";
    closedir DIR;

    my $dspcount = grep { /\.dsp$/i } @files;
    my $vbpcount = grep { /\.vbp$/i } @files;

    print "There are $dspcount dspfiles and $vbpcount vbpfiles\n";


> if ($projectFilesExist> 1)

This would have been caught by 'use strict;' You never declare this 
variable or assign a value to it. Remember, '$foo' has nothing to do 
whatsoever with '@foo'.

>     $cmd= `sendmail`;

Sending mail is another story. Come back here if you have difficulty 
with that.

-- 
felix

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to