Linux Ask!

Linux Ask! is a Q & A web site specific for Linux related questions. Questions are collected, answered and audited by experienced Linux users.

Linux Ask!

Sep 262011
 

Enable Perl strict mode to restrict unsafe constructs

Answer:

In Perl, you can enforce using the strict mode to reduce the chance of nasty error, e.g.

$foo = 'bar';
print $foo;

If you run the above problem, it is completely valid.

# perl test.pl
bar

However, if you use the strict pragma

use strict;

$foo = 'bar';
print $foo;

And run the program again..

# perl test.pl
Global symbol "$foo" requires explicit package name at test.pl line 3.
Global symbol "$foo" requires explicit package name at test.pl line 4.
Execution of test.pl aborted due to compilation errors.

Since the $foo is not declared before the first use, so the compilation stopped. In modern Perl developements, it is recommended to alwasys use the strict pragma in order to write a better and maintainable program.

To fix the problem, you need to use the my keyword, e.g.

use strict;

my $foo = 'bar';
print $foo;

And run the program again. (Thanks Jeroen for the suggestion)

Sep 242011
 

Show the current privileges of a MySQL user

Answer:

To show the current privileges of a MySQL user, you can use the SHOW GRANTS statement

E.g.

mysql> SHOW GRANTS;

+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*****************************************' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------+