Hi,
I have wrote a script to search for a pattern and replace it in all files of a
directory,that i specified at commandline.I want another one thing is to be done in
the script.That's,it should search only for the type of files I specified at
commandline.That is,it should get the extension of file name and search only those
files in the directory.
I have made a attempt in this script,but it goes on asking extension for all the
files in directory.
Plz help me in getting the things right in the following script.
Tell the changes to be made in this.
#! /usr/bin/perl
print "Enter a path name: ";
my $path=<STDIN>;
chomp($path);
opendir THISDIR, "$path" or die "serious dainbramage: $!";
my @allfiles = readdir THISDIR;
# get all files
foreach $file (@allfiles){
$filetoopen = $path ."/" .$file;
# filter to check the type of file
print "Enter the type of extension:";
my $ext=<STDIN>;
chomp($ext);
($str1,$str2) = split(/./, $filetoopen);
if($str2 eq $ext)
{
print $str2;
$filetoopen1 = join(".",$str1,$str2);
print $filetoopen1;
open(IN, "<$filetoopen1") || die "cannot open file\n";
open(OUT, ">$test") || die "cannot open file\n";
while (<IN>){
if (/$com/){
s/$com/td>\n</g">\\script>/g;
}
if (/$img/){
s/$img/\n<script>\n<img/g;
}
if (/$pattern/){
s/$pattern/$own/g;
# print $_;
}
if (/img/){
s/$img/document.write("<img/g;
}
if (/$com/){
s/$com/td>");/g;
}
print OUT $_;
}
close (OUT);
close (IN);
rename("$test","$filetoopen1");
}
}
__END__
Thanks inadvance,
Prabu.
Win an evening with the Indian cricket captain: Yahoo! India Promos.