#!/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>