And the good thing is, it's available in core Perl!
So we will use File::Copy module and will call copy() function to copy the file and move() function to move the files.
Ok then, How it works?
Learning through sharing
So we will use File::Copy module and will call copy() function to copy the file and move() function to move the files.
Ok then, How it works?
Determining the length of an array and a hash
If you are working on Perl, then you will need to find the length or size of an array, hash, and array/hash elements very often.
Meaning of Size or length depends upon for which context you are talking about. Generally it means the number of characters in a string, or the number of elements in an array/hash.
But, if you are using Unicode characters then the number of characters in a string may be different to the number of bytes in the string. So the in-built function length may give different result for different context.
We will see it by using different examples based on different problems:
Example 1. Finding length() of string
To determine the number of characters in an expression use the length() function:
[perl]#!/usr/bin/perl
use strict;
use warnings;
my $name = 'Jassi';
my $size = length($name);
print "$size\n";
exit 0;[/perl]
This example prints the number of characters in the string $name:
5
Example 2. Find the bytes used by string using length()
What, if you want to know the bytes occupied by the string not the characters it holds? This may not matter if you are using ASCII characters but it may, if you are using Unicode characters.
By default the length() function returns the number of characters. You can tell it to return the number of bytes by specifying use bytes; in the program as in this example:
[perl] #!/usr/bin/perl
use strict;
use warnings;
my $char = "\x{263a}"; # A smiley face
{
use bytes;
my $byte_size = length($char);
print "Bytes: $byte_size\n";
no bytes;
}
# Character size here
my $size = length($char);
print "Chars: $size\n";
exit 0;[/perl]
This outputs:
Bytes: 3
Chars: 1
Note: either use closure or whenever you use “use bytes” try to use “no byets” once you are done
Number of element in an array
Example 3: using array’s last index
In Perl you can determine the last element of an array easily ($#array_name) and add 1 to it to find the number of elements in that array.
[perl] #!/usr/bin/perl
use strict;
use warnings;
my @alien_members = qw(jassi Ritesh Ranjan som Santosh);
my $size = $#alien_members + 1;
print "$size\n";
exit 0;[/perl]
This gives us:
5
Example 4. Using scalar context of an array
If you assign an array to a scalar variable, it will return the number of elements of that array:
[perl] #!/usr/bin/perl
use strict;
use warnings;
my @alien_members = qw(jassi Ritesh Ranjan som Santosh);
my $size = @alien_members;
print "$size\n";
exit 0;[/perl]
This gives us:
5
Apart from being confusing to read, this method can lead to some easy mistakes. For example, consider the following program:
[perl] #!/usr/bin/perl
use strict;
use warnings;
my @alien_members = qw(Jassi Ritesh Ranjan som Santosh);
print "@alien_members\n";
print @alien_members."\n";
exit 0;[/perl]
What would you expect it to print?
Each array elements to a new line like
Jassi
Ritesh
Ranjan …
Nope it would print
Jassi Ritesh Ranjan som Santosh
5
When double-quotes included, it treats arrays differently. The double-quotes cause Perl to flatten the array by concatenating the values into a string. So behind the stage, something like this happened.
“Join each array element by space and assign it to a scalar variable. So it became a string.” It is something like $size = “@alien_members”; which will differ from $size = @alien_members;
try to print these two statements and see the difference.
But check second print output. Isn’t it strange?
Example 5. Arrays: never use length() to find the number of elements in an array.
You have seen the use of length at Example#1 but still If you try to use the length() function on an array, it won't give you the desired output.
[perl]#!/usr/bin/perl
use strict;
use warnings;
my @alien_members = qw(Jassi Ritesh Ranjan som Santosh);
my $size = length(@alien_members);
print "$size\n";
exit 0;[/perl]
The output is not what you thought:
1
This is because the length() function requires a scalar, so the array is forced into scalar context.
And we saw already (example 4) that an array in scalar context already gives us the length. The example above is giving us the length of the length i.e. the length of 5 is 1. Hope it makes sense!
Example 6. Finding the number of elements using scalar() function
No doubt that Example 3 and 4 are correct but they aren't much clear and friendly to use in our program (readability problem you can say). Perl has the scalar() function which forces the array into scalar context which will give you the length of an array (even hash too):
[perl] #!/usr/bin/perl
use strict;
use warnings;
my @alien_members = qw(Jassi Ritesh Ranjan som Santosh);
my $size = scalar(@alien_members);
print "$size\n";
exit 0;[/perl]
This also gives us the correct answer:
5
Example 7. Finding the number of elements in a hash
Sometimes you will also want to have the number of elements of a hash. This is easily done using the keys() function to return the keys as an list, and the scalar() function to return how many keys there are (it is very common question in interviews too):
[perl] #!/usr/bin/perl
use strict;
use warnings;
my %alien_members_rank = (
Jassi => 1,
Ritesh => 2,
Ranjan => 3,
Somnath => 5,
Santosh => 4
);
my $size = scalar(keys %alien_members_rank);
print "$size\n";
exit 0;[/perl]
The output of this program is:
5
Note: it will not give 10 as you might have thought in context of an array. It can give you no of keys elements and then you can just multiply it by 2 😀
For more details on these functions, see also
perldoc -f length
perldoc -f scalar
perldoc bytes
Minimal basics on Regular Expression (Non-technical )
That’s it! Now our nation has all honest politicians in the world of regular expression. This was just a small example. It can do a lot. (Think about it -> sochiye jara :P. It’s very famous phrase now in Indian television advertisement 😉 ) Of course to use this small but damn powerful tool, we need to follow some sets of rules which I will try to cover in my next article as its continued part.
Why Regular Expression?
Whenever we need to do something with the text, regex’s magic can be useful. Almost all text editors use regular expression to manipulate text contents. Like find something in a file or replace a pattern with new pattern etc. For example:
Teamviewer: an online screen sharing and remote assistance software
What is Screen sharing and remote assistance?
Remote Assistance What is TeamViewer?
TeamViewer is an online screen sharing and remote assistance application which was first released in 2005 by a German Company GmbH.
It was voted 5 out of 5 by C|Net and 4.5 out of 5 by PCMag and currently it’s in #1 rank under Remote Assistance Application at download.com
It is free to use for personal use but you need to pay some extra bucks to make it professionally. Rates are different for different purpose like business or corporate. You can do video chatting through it too! One can share files using drag and drop functionality or you can develop your own secured private network (VPN).
It supports more than 30 languages and is available in all Operating systems i.e.
Why Teamviewer?
If you want to
Features of TeamViewer (Advantages and Disadvantages)
Pros

Official website: http://www.teamviewer.com/
Download Link: http://www.teamviewer.com/en/download/index.aspx
How to use it and how it works?
Everything from installing the software to the final setup has been described in this video which uses the slides too posted at slideshare.
How this Meeting feature works here?
To start an online meeting the presenter gives the Meeting ID to their participants. They can join the meeting by using the TeamViewer full version or by logging on to http://go.teamviewer.com/ and enter the Meeting ID.
It is also possible to schedule a meeting in advance.
How much secured this Teamviewer is?
TeamViewer uses RSA private/public key exchange (1024-bit) and AES (256-bit) session encoding.
In the default configuration, TeamViewer uses one of the servers of teamviewer.com to start the connection and then do routing of traffic between the local client and the remote host machine. However in 70% of the cases after the handshake a direct connection via UDP or TCP is established. UDP connection makes it much faster.
Here is the presentation for it on Slideshare:
RPM is a powerful software manager for Linux. Earlier it was meant only for Redhat but now it is used in all the Distro which uses rpm for managing their software.
//There are actually two types of Distro. One is RPM based and other is Debian based. Distro which uses .rpm software is called rpm based linux example: Redhat, fedora, centos etc and distro which uses .deb software is called debian based linux example: Ubuntu, Debian, Knoppix etc. This is simillar to Windows system. In windows .exe is used whereas in linux .rpm and .deb is used.//
RPM can install, remove, query and validate the software in the system. There are some good graphical programs which install rpm software but first i will tell you about command line method.
Querying the System
How to look which all software are installed in the system. Here is the command for it:
rpm -qa | more
Let me explain you this. Here rpm tells the system that you are going to run rpm program. -q tells the sytem about Query operation. a in -qa is for listing all the software. |more is not the feature of rpm but is linux command which tells the system to list the output one page at a time.
How to get info for the single software. Here is the command for it:
rpm -qi vlc
Here i option require the specific package name. So specific package name is given, i.e vlc.
Installing Software in the System
rpm -ivh vlc.rpm
Here vlc.rpm is not the full package name, it is just an example. i is for install, v is for verbose message in case installation fails and h option show the progress mark with hash.
If you want to update package the use U instead of i i.e rpm -uvh vlc.rpm.
Removing Software
rpm -e vlc
e option is used for erasing. But sometimes this will not work due to some dependency. vlc many be dependent on some othe package. so in this case -nodeps option is used. and the command is:
rpm -e –nodeps vlc
Sometimes packages are not removed properly. For example, if you try to install software and the rpm says that it is alreay installed, and then when you try to remove it then rpm says it is not installed. In this case -force will help to remove this problem. Here is the command for it:
rpm -ivh –force vlc.rpm
Regarding Graphical installer of RPM
People who are working on Linux generally don't use graphical installer. For beginners i think they can have feel of it but i wont recommend this.
There is a software called GnoRPM. To start GnoRPM type gnorpm in the command line.

If you have any query related to package manager then just post your query here. There are some other good command line way to install software from internet without worrying about dependency, which will be posted as new topic. Just keep following us.
This is one of the questions asked in many Perl related job interviews. See the question here: http://www.aliencoders.org/content/interview-questions-perl-freshers-and-experienced
There will be some situations when you will need to know about installed modules, its version or you may need to check if required module is installed or not with mentioned version or higher than that.
1. To list all installed Perl modules using perl script
[perl]
#!/usr/bin/perl #change the path with your perl location
use strict;
use warnings;
use ExtUtils::Installed; # By default this module will be available in Perl
my $instmod = ExtUtils::Installed->new();
foreach my $module ($instmod->modules()) {
my $version = $instmod->version($module) || “Version Not Found.”;
print “$module version=$version \n”;
}
[/perl]
2. To list installed Perl modules using command line in Linux box
Try instmodsh command in linux box
and then type l to list modules or m to give particular module name or q to quit
[code] $ instmodsh[/code]
Output:
[code]Available commands are:
l – List all installed modules
m – Select a module
q – Quit the program
cmd?[/code]
At cmd? prompt type l to list all installed modules:
[code]cmd? l[/code]
Output:
[code]Installed modules are:
Archive::Tar
CPAN
Compress::Zlib
MIME::Lite
Module::Build
Net::Telnet
PAR::Dist
Perl
Spiffy
Test::Base
Test::Simple
XML::Simple
cmd?
[/code]
This command itself is a perl script that use ExtUtils::Installed module. Try following command to see its source code:
[code]$ vi $(which instmodsh)[/code]
For more details, visit this link: http://perldoc.perl.org/instmodsh.html
3. To compare and check installed Perl modules with respect to given modules with its version
[perl]
#!/usr/bin/perl
use strict;
use warnings;
my @modules = ([‘SOAP::Lite’, 0.50],
[‘IO::Socket’, 0],
[‘HTML::Parser’, 3.26],
[‘LWP’, 5.65],
);
print “\n”,
“==========================\n”,
“Testing for the given Perl modules\n”,
“===========================\n”;
for my $arr_ref (@modules) {
my($mod, $ver) = @$arr_ref;
print “$mod” . ($ver ? ” (version >= $ver)” : “”) . “\n”;
eval(“use $mod” . ($ver ? ” $ver;” : “;”));
if ($@) {
my $msg = $ver ?
“\tEither it doesn’t have $mod installed,\n” .
“\tor the version that is installed is too old.\n” :
“\tIt does NOT have $mod installed.\n”;
print “$msg\n”;
}
else {
print “\tYour system has $mod installed ” .
“with version @{[ $mod->VERSION ]}\n\n”;
}
}
print “Module Testing Done!\n”;
[/perl]
Note: If you are putting module name dynamically, then use @{[ $mod->VERSION ]} for version number
else $Module-Name::VERSION ex: $SOAP::Lite::VERSION
[perl]
print “SOAP::Lite Version is “. $SOAP::Lite::VERSION.”\n”;
#or
print “$mod version is @{[ $mod->VERSION ]} \n”;
[/perl]
4. To list Perl modules that comes preinstalled with the standard Perl package and installed from outside
[perl]
perldoc perlmodlib #lists all the modules that come with standard Perl package already
perldoc perllocal #lists all modules that is installed from outside
[/perl]
Both modules reveal lots of information about each installed modules like installation date, directory, module version etc.
If you are using Drupal CMS for your website and you are displaying recent blog post items in a block anywhere in your website. You will see that it shows 10 recent blog posts always. I was trying to make it to list only 5 recent items but I didn’t get any clue how to do that.
After googling for few hours I got some solutions which I am sharing below.
Error –
Tried to reset my password, it throws error as below.
Logged in as root and tried, still throwing the same error.
Need to login on to LINUX machine – but don’t have the privilege? – or want to gain root privilege?
Pre Requisite – you need the access physical or command line or console access to reboot the machine.
Follow the steps :-

Fig 1

Fig 2
Press Enter. You will get the screen in Fig.3

Fig 3
Press e in the end of 2nd line , the one starting with kernel, to enter the edit mode.

4. After the step 3 you will get this screen, press b to reboot.


Now you can change the password by typing passwd,it won’t ask you this time for the old password.

Now, you have successfully changed the root password.
PS : Remove the “s “, that you have put in there previously by using the same procedure. And next time you reboot you can login as root!!
Any query/help/suggestion/feedback regarding this is welcome. Please feel free 🙂
This step by step procedure is for those users who use Windows and facing slowdown of their computer systems which may cause due to several reasons. Just follow t
hose listed points; you don’t need to use any 3rd party tool to cleanup files and to respond your system in faster way.
I presume that you have basic knowledge of running commands through run commands and know to browse files and folders if stated to do so. I also presume that your system is not infected with any spywares, malwares or viruses. (Then these steps would go in vain)
Note: You can delete it through Internet Explorer browser also.
Open Run command and type msconfig to open System Configuration settings
Open Run command one more time. Type cleanmgr and press enter to cleanup unwanted files (unwanted/unused according to system software )Note: Don’t keep huge file size stuffs , important stuffs on desktop or in my documents or even in C directory. ( If your system crashes or you need to install fresh Windows O.S. then these files will get deleted. So better to save in other directory like D:\ or E:\ etc)