Saurabh Singhvi wrote:
#!/usr/bin/perl -w
use strict;

opendir(DIR,".") or die "Couldn't open $!";
our @names = readdir(DIR) or die "Couldn't open $!";
closedir(DIR);

foreach my $name (@names){
        if ($name =~ /avi$/) {
                my $var = $name;
                $var =~ s/\s/\\ /;
                $var =~ s/\[/\\\[/;
                $var =~ s/\]/\\\]/;
                system("mencoder $var -ovc lavc -oac copy -o $var.avi");
        }
}


in this script i am having a big problem.........the script just ends after the system command and returns to the shell..........what could be the reason???

This should work better:

#!/usr/bin/perl -w
use strict;

opendir DIR, '.' or die "Couldn't open '.' $!";
( my @names = readdir DIR ) or die "Couldn't read '.' $!";
closedir DIR;

foreach my $name ( @names ) {
next unless $name =~ /avi$/;
my $var = $name;
system( 'mencoder', qq("\Q$var\E"), '-ovc', 'lavc', '-oac', 'copy', '-o', qq("\Q$var\E.avi") ) == 0
or die "system 'mencoder' failed: $?";
}




John
--
use Perl;
program
fulfillment

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>




Reply via email to