I came across a code snippet like `$ypmatch $host hosts 2>/dev/null` used in one of the perl files I was browsing. Can anyone let me know the significance of redirecting it to /dev/null.
I will post the same when I find it out.
Wednesday, December 3, 2008
Redirect to /dev/null
Posted by Nexis at 11:32 PM 3 comments
Labels: Queries
Cleaning A Perl File With REGEXP
Following are the regular expressions which can be used to clean your file of unwanted material
1) Replace all the spaces with nothing.
s/\s//g;
2) Skip the lines with comments.next if (m/^\#/);
3) skip blank lines
next if (m/^$/);
4) Replace a line in the file which has commented data on a code line.
s/\#.*$//;
5) Replace a line in the file which has data after semicolon
s/\;.*$//;
Posted by Nexis at 11:12 PM 0 comments
Labels: Perl Regular Expressions
Wednesday, November 5, 2008
To get current date and time. hh:mm::ss mm/dd/yy
To get the current date and time in the format hh:mm::ss mm/dd/yy and if you are looking for a perl one liner here you go.
perl -e "use POSIX; print strftime qq(%X %x), localtime(time); "
Output is
00:00:51 11/06/08
Posted by Nexis at 7:02 AM 1 comments
Labels: perl one liners
Thursday, October 30, 2008
How to take a hash slice.
If you want to assign some variables of a hash to an array. i.e you want to take some of the elements from hash based on there keys into a array here is a trick\
my %hash = (one => 'one', two => 'two', three => 'three');
my @array ;
@array = @{$hash}{'one','two'};
If you have a hashref and want to take the values of some keys into an array you can do the following.
my $hashref = {one => 'one', two => 'two', three => 'three'};
my @array ;
@array = @{%$hash}{'one','two'};
Posted by Nexis at 1:53 AM 0 comments
Labels: Data Structures
Getopt::Long :s option specifier
: s option of getopt::long come very much handy when one is looking for the following requirement
1) If a command line option is passed a paramter it is taken as a value for the given option
i.e perl program -option1 value1
$option1 will take value1.
2) If a command line option is not mentioned then variable remains undefined.
i.e perl program
$option1 will remain undef.
3) If a command line option is mentioned but paramter is not passed, then a empty string will be assigned to $option if :s is used and 0 if :i is used
i.e perl program -option1
$option will be q{}... an empty string.
Please take a look at http://search.cpan.org/dist/Getopt-Long/lib/Getopt/Long.pm for further information.
Posted by Nexis at 1:36 AM 0 comments
Labels: perl modules
Wednesday, January 30, 2008
Perl is Compiled or Interpreted?
Everyone knows that there are two types of languages interpreted and compiled. Does anyone know what type of language a perl is? If your instant answer is interpreted, maybe this post will make you think otherwise.
When one runs a perl program, perl actually generates a intermediate code called as the bytecode. Now when perl is finished with bytecode where it usually compiles the whole of a program, it takes over the responsibility of being an interpreter and acts accordingly scanning and processing each line of code. So perl is actually an intermediate language. It is neither a strictly compiled language nor a strictly interpreted one.
Posted by Nexis at 10:06 PM 0 comments