Category Archives: Perl Scripts

It contains Perl Scripts that I learn newly.

How add values to %hash in perl?

It’s as follows:

#!/usr/bin/perl
use strict;
use warnings;
use v5.10;

my @a=(1,2,3,4,5,6,9);
my @b=('q','w','e','r','t','y','u');
my %hash;
for(my $i=0;$i<7;$i++)
{
  $hash{$a[$i]}=$b[$i];
}

print $hash{'9'};

O/p

u

Change content order using regular expression in perl

It can be done as follows :-

my $date = "2009-27-02";
$date =~ s/(\d{4})-(\d{2})-(\d{2})/$2\/$3\/$1/;
say $date;

O/p

27/02/2009

Multidimesional array in perl…

We can write multidimensional array in Perl as follows :

    my @array1 = (1, 2, 3, 'four');
    my $reference1 = \@array1;
    my @array2 = ('one', 'two', 'three', 4);
    my $reference2 = \@array2;

    my @array = (\@array1, \@array2);

    print $array[1]->[0];

The output will be as follows :

one

How to generate random number in perl using rand()?

Using the Perl rand() function

Introduction

The rand() function is used to generate random numbers. By default it generates a number between 0 and 1, however you can pass it a maximum and it will generate numbers between 0 and that number.

Example 1. Between 0 and 1

To generate a random decimal number between 0 and 1, use rand() without any parameters.

  #!/usr/bin/perl
  use strict;
  use warnings;

  my $random_number = rand();

  print $random_number . "\n";

This will give you a random number, like:

  0.521563085335405

Example 2. A bigger range of numbers

Quite often you don’t want a number between 0 and 1, but you want a bigger range of numbers. If you pass rand() a maximum, it will return a decimal number between 0 and that number. Our example below generates a random number between 0 and 100.

  #!/usr/bin/perl
  use strict;
  use warnings;

  my $range = 100;

  my $random_number = rand($range);

  print $random_number . "\n";

The program will produce something like:

  34.0500569277541

Example 3. A random integer

To generate a random integer, convert the output from rand to an integer, as follows:

  #!/usr/bin/perl
  use strict;
  use warnings;

  my $range = 100;

  my $random_number = int(rand($range));

  print $random_number . "\n";

This program gives you an integer from 0 to 99 inclusive:

  68

Example 4. With an offset

To generate a random number between, for example, 100 and 150, simply work out the range and add the minimum value to your random number.

  #!/usr/bin/perl
  use strict;
  use warnings;

  my $range = 50;
  my $minimum = 100;

  my $random_number = int(rand($range)) + $minimum;

  print $random_number . "\n";

This program gives you:

  129

How to generate unix time stamp in perl?

It can be done using :-

print time();

O/p

1387202679