How to replace a string in a file using Perl
Answer:
Assume you have a file "test'txt", contains the string "abc", and you want to replace by "def", use the following script
perl -pi -e "s/abc/def/g;" test.txt
Linux Ask! is a Q & A web site specific for Linux related questions. Questions are collected, answered and audited by experienced Linux users.
How to replace a string in a file using Perl
Answer:
Assume you have a file "test'txt", contains the string "abc", and you want to replace by "def", use the following script
perl -pi -e "s/abc/def/g;" test.txt
How to redirect error message to a file
Answer:
Assume you have some program/script that print to the standard error stream (i.e. stderr)
E.g. error.pl
print STDERR 'error';
You cannot redirect the error message just by basic file redirection, e.g.
perl error.pl > error.txt
Instead, you need to use 2>
perl error.pl 2> error.txt
How to perform syntax check for Perl program
Answer:
Assume you have a Perl script test.pl, try run the command
perl -c test.pl
Syntax error will be displayed without running the code actually.
How to sort a hash in Perl
Answer:
# %hash is the hash to sort
@keys = sort { criterion() } (keys %hash);
foreach $key (@keys) {
$value = $hash{$key};
# do something with $key, $value
}
How to pretty print my.cnf with a one-liner?
Answer:
A very cool command.
perl -ne 'm/^([^#][^\s=]+)\s*(=.*|)/ && printf("%-35s%s\n", $1, $2)' /etc/my.cnf
Reference: http://www.mysqlperformanceblog.com/2009/06/15/how-to-pretty-print-mycnf-with-a-one-liner/