for example a text in this file like "trojan is like viruse" does exist..and i want to chage this like "hello".
i know ,i know i can use regexpr s/// or use tr///...but how can i change it on my file...?
Try using the substitution method (s///), and writing the output to a new file. You can then diff the new file with the original to verify your output.
#!/usr/bin/perl
my $infile = "/home/white_fox/filename.txt";
my $outfile = "/home/white_fox/filename-new.txt";
open (INFILEHANDLE, "< $infile") or die "Can't open input file because
+: $! \n";
open (OUTFILEHANDLE, "< $outfile") or die "Can't open output file beca
+use: $! \n";
while(<INFILEHANDLE>){
$_ =~ s/trojan is like viruse/hello/;
$_ =~ s/phone \= 123456/5678/;
print OUTFILEHANDLE $_;
}
close(INFILEHANDLE);
close(OUTFILEHANDLE);
Sounds like perhaps you're also looking for a regex to identify phone numbers. If that's the case, check out this node:
http://www.perlmonks.org/index.pl?node_id=335348. Good luck!