Hi All, I am a newbie to Perl Script. I need your help in one of my perl Script. My Script has to search a particular string like "\$Header\$" in files and if this string is found, it should replace it with "\$Header $NameofFile 01/01/2009". But it's making the files blanks. Please look at the below code wriiten by me and guide me to correct the same: #! /local/bin/perl -w #use strict; use File::Basename;
my $src_dir; print "Specify top directory location where all product XML/JAVA files exist ==> "; $src_dir = validate_dir("s") or return; sub validate_dir { my ($dir_type) = @_; my $dir; print "Directory is : $dir_type\n"; while (1) { $dir = <STDIN>; chomp($dir); print "$dir\n"; if ($dir_type eq 's') { if (!(-d $dir)) { print "ERROR : source directory $dir does not exist.\n"; print "Specify valid source directory ==> "; } else { last; } } } return $dir; } print "Source Directory : $src_dir\n"; update_attributesets(); sub update_attributesets { my %map; my $text; if (-f $src_dir) { @ARGV = ($src_dir); } else { �...@argv = qx!find $src_dir -name \'*.*\'!; } foreach my $filename (@ARGV) { chomp($filename); print "$filename\n"; my $var='\$Header\$'; open(READFILE, "<$filename"); my @lines = <READFILE>; my $modified=0; close READFILE; open(WRITEFILE,">$filename"); foreach my $line (@lines) { my $fname = basename($filename ); my $result=index($line,$var); if ($result!=-1) { s/$var/\$Header: $fname 120.0 2007\/11\/27 07:59:52 atgops1 noship \$/; print WRITEFILE $_; ++$modified; } } close WRITEFILE; } print ' Modified files are $modified\n'; } Thanks, Harish The INTERNET now has a personality. YOURS! See your Yahoo! Homepage. http://in.yahoo.com/