Skip to main content

Arrays in Perl


One Dimensional Array:-

Arrays are great in Perl, we can store heterogeneous data elements such as character, integer and floats.
Ex: - @array = (“surendra”, 1, 12,”tux”);

$# operator gives the size of the array.
Ex: - $#array => 4

Accessing Arrays:-

With dollar operator along with array name and index number inside square braces will give the array element.
Ex: - @array = (“surendra”, 1, 10,”patil”);
                $arra [0] => Surendra
                $array[2] => 10

Program to display all the elements in an array:-

use strict;
use warnings;
#
# Print Array Elements
#
my @array = ("Surendra",10,111,"patil","tux");
my $i = undef;

for ($i = 0; $i < $#array; $i++) {
                print "$array[$i]\n";
}

Output:-
Surendra
10
111
patil
tux


Multidimensional Arrays:-
use strict;
use warnings;

#
# Print Multi Dimention Array Elements
#

my @array = (
                                ["Surendra",10],
                                ["veerendra",31],
                                ["chukchuk",9],
                                ["santosh",8],
                         );
my $i = undef;
my $j = undef;

for ($i = 0; $i < $#array; $i++) {    #Rows
                for ($j = 0; $j < 2; $j++) { #Columns
                                print "$array[$i][$j]\t";
                }
                print "\n"; 
}

Output:-

Surendra        10
veerendra       31

chukchuk        9

Comments

Popular posts from this blog

Sampling and FFT Size derivation in LTE

Sampling and FFT Size derivation in LTE Ts = 1 / (15000 x 2048) seconds, which corresponds to the 30.72 MHz sample clock for the 2048 point FFT used with the 20 MHz system bandwidth. In the frequency domain, the number of sub-carriers N ranges from 128 to 2048, depending on channel bandwidth with 512 and 1024 for 5 and 10 MHz, respectively, being most commonly used in practice. The sub-carrier spacing is ∆f = 1/T u = 15 kHz. The sampling rate is fs = ∆f · N = 15000 N. This results in a sampling rate that’s multiple or sub-multiple of the WCDMA chip rate of 3.84 Mcps: LTE parameters have been chosen such that FFT lengths and sampling rates are easily obtained for all operation modes while at the same time ensuring the easy implementation of dual-mode devices with a common clock reference. Sampling frequency is Multiple's of 2, For 15 Mhz Bandwidth - Sampling Frequency = 23.04 (6 * 3.84). FFT SIZE = S...

C Programming Questions – Part 1

1. W hat do curly braces denote in C? Why does it make sense to use curly brac es to surround the body of a function?   Answer: The curly braces denote a block of code, in which variables can be declared. Variables declared within the block are valid only until the end of the block, marked by the matching right curly brace ’}’. The body of a function is one such type of block, and thus, curly braces are used to describe the extent of that block . 2.Describe the difference between the literal values 7, "7", and ’7 ’ ?   Answer: The first literal is integer 7.Second literal is null terminated string value '7'.Third literal is character '7' having ASCII character code (55). 3. Consider the statement double ans = 10.0+2.0/3.0−2.0∗2.0; Rewrite this statement, inserting parentheses to ensure that ans = 11.0 upon evaluation of this statement ? Answer: double ans = 10.0+2.0/ (( 3.0−2.0 ) ∗2.0 ) ; 4 .C...

Python program to find Matrix Diagonal Difference

Program Statement – Matrix Diagonal Difference You are given a square matrix of size  N × N . Can you calculate the absolute difference of the sums across the main diagonal and the secondary diagonal? https://www.hackerrank.com/challenges/diagonal-difference Program – Python 3 Version mat = [] nrow = int(input()) for i in range(nrow):   mat.extend(list(map(int,input().split()))) #keep extending the array #Main Diagonal Sum indx,pd_sum = 0,0 for i in range(nrow):   pd_sum += mat[indx]   indx += nrow + 1 #Secondary Diagonal Sum indx,sd_sum = nrow-1,0 for i in range(nrow):   sd_sum += mat[indx]   indx += nrow - 1 print(abs(pd_sum – sd_sum)) Input - 3 11 2 4 4 5 6 10 8 -12 Output - 15