#!/usr/bin/bash
echo "Please enter a sentence"
read sentence
for word in $(echo $sentence|xargs -n 1 |sort -u )
do
#occurance=$(echo $sentence | grep -i -o "$word"  | wc -w)
echo -e "$word-$(echo $sentence | grep -i -o "$word"  | wc -w)"
done
Wednesday, December 21, 2022
Find the number of repeatition of each word in a file using bash script without using array
Thursday, December 15, 2022
Find highest and lowest number in an unsorted array using bash script
 #!/usr/bin/bash
#declare -a sports=([0]=football,[1]=cricket,[2]=hockey,[3]=basketball)
#sports[0]=foorball
#sports[1]=cricket
#sports[2]=hockey
#sports[3]=basketball
#echo "${sports[@]}"
echo "Please enter 5 marks of 5 students"
#for i in $(seq 0 4)
for i in {0..4}
do
read numbers[$i]
done
((max=${numbers[0]}))
((min=${numbers[0]}))
#echo "max is $max"
#echo "min is $min"
#echo "${numbers[@]}"
for i in ${numbers[@]}
do
if [ $i -gt $max ]
then
max=$(($i))
fi
if [ $i -lt $min ]
then
min=$(($i))
fi
done
echo "The highest number in the array is $max"
echo "The smallest number in the array is $min" 
Find the number of repeatition of each word in a file using bash script
 #!/bin/bash
#input="./maharshi.txt"
#xyz=$1
#while read -r line 
#do
#echo -e "$line"
#done <$xyz
declare -A words
file=$(cat ./maharshi.txt)
for line in $file
do
#echo -e "$line"
for word in $line
do
((words[$word]++))
done
done
for i in "${!words[@]}"
do
echo "$i " "${words[$i]}"
done
Monday, December 12, 2022
finding factorial of a number using bash one liner
 read -rep $'enter the number whose factorial you want\n' fact && result=1 && for i in $(seq 1 $fact) ;do result=$((result*i));don
e && echo $result
read -rep $'enter number\n' num && (echo 1; seq $num) | paste -s -d "\*" | bc 
Performing x to the power of y in bash
sourav@LAPTOP-HDM6QEG8:~$ a=2
sourav@LAPTOP-HDM6QEG8:~$ b=8
sourav@LAPTOP-HDM6QEG8:~$ echo "$((a**b))"
Write a shell script to print all the multiplication tables (up to 10) between two given numbers
#!/bin/bash
echo "Enter first number"
read first
echo "Enter Second number"
read second
for ((i=first;i<=second;i++))
do
for((j=1;j<=10;j++))
do
echo  "$i * $j =  $((i*j))"
done
done
 using an one liner
read -rep $'Enter value of first\n' first && read -rep $'Enter value of second\n' second && for i in $(seq $first $second); do for j in $(seq 1 10); do echo "$i*$j=$((i*j))"; done;done
Wednesday, December 7, 2022
An one liner to print a table for the number given as input in bash
read -rep $'Enter value of j\n' j && for i in $(seq 10);do echo "$i * $j = "$(($i*$j)); done
otherwise the program would be something like
#!/bin/bash
clear
echo "input number :"
read x
echo
for i in 1 2 3 4 5 6 7 8 9 10
do
#t=`expr $x \* $i`
#echo $t
echo $(( x * i))
i=`expr $i + 1`
done
Tuesday, December 6, 2022
Calculating factorial using bash one liner
I was trying to get the factorial of a number in bash,it's an easy program obviously ,using loop I can do this,for example
#!/usr/bin/bash
echo "Enter number"
read number
result=1
for((i=1;i<=number;i++))
        do
                result=$(($result*i))
        done
echo "The factorial of $number is $result"
Then I tried to find some one liners,I mean bash is famous for one liners ,using seq and bc it worked just fine.
sourav@LAPTOP-HDM6QEG8:~$ num=5
sourav@LAPTOP-HDM6QEG8:~$ seq -s "*" 1 $num | bc
120
Using $(( it also worked like it should
sourav@LAPTOP-HDM6QEG8:~$ echo $((`seq -s "*" 1 $num`))
120
However when I am trying to use expr I am not able to do it.
sourav@LAPTOP-HDM6QEG8:~$ expr `seq -s " * " 10`
expr: syntax error: unexpected argument ‘0’
I thought since * is an universal symbol may be I should escape it,but it still does not work
sourav@LAPTOP-HDM6QEG8:~$ expr `seq -s " \* " 10`
expr: syntax error: unexpected argument ‘\\*’
However I am able to perform the summation though like this
sourav@LAPTOP-HDM6QEG8:~$ expr `seq -s " + " 10`
55
So why I am getting an error when trying to get the multiplication of a series using expr,can someone explain please??
Friday, December 2, 2022
Calculate total size of all the text files in current directory in bash
du -bc *.txt | tail -1 | cut -f 1
if the extension is variable
ext="txt"
du -bc *.$ect | tail -1 | cut -f 1
Source: https://unix.stackexchange.com/questions/72661/show-sum-of-file-sizes-in-directory-listing 
Concatenate strings in bash shell script
#!/bin/bash
echo "Enter first string"
read string1
echo "Enter second string"
read string2
echo "$string1 $string2"
Basic calculator in bash script
echo "Enter operation to be performed so that first number operation second number"
read operation
case $operation in
+)
result=`echo "scale=2; $first + $second" | bc`
;;
-)
result=`echo "scale=2; $first - $second" | bc`
;;
\*)
result=`echo "scale=2; $first * $second" | bc`
;;
/)
result=`echo "scale=2; $first / $second" | bc`
;;
*)
result="Not valid"
;;
esac
echo "Result is $result"
switch case example in bash script
#! /bin/bash
echo -en "Enter your logins\nUsername: "
read user_name
echo -en "Password: "
read user_pass
while [ -n $user_name -a -n $user_pass ]
do
case $user_name in
ro*|admin)
if [ "$user_pass" = "Root" ];
then
echo -e "Authentication succeeded \ n You Own this Machine"
break
else
echo -e "Authentication failure"
exit
fi
;;
jenk*)
if [ "$user_pass" = "Jenkins" ];
then
echo "Your home directory is /var/lib/jenkins"
break
else
echo -e "Authentication failure"
fi
break
;;
*)
echo -e "An unexpected error has occurred."
exit
;;
esac
done
Source: BASH "switch case" in Linux with practical example - Linux Cent
why echo --help not opening the help page of echo in bash
 man echo relates to the echo program. GNU echo supports a --help option, as do some others. When you run echo in Bash you instead get its builtin echo which doesn't.
To access the echo program, rather than the builtin, you can either give a path to it:
/bin/echo --help
or use Bash's enable command to disable the built-in version:
$ enable -n echo
$ echo --help
Bash has built-in versions of a lot of basic commands, because it's a little faster to do that, but you can always bypass them like this when you need to.
Source: https://unix.stackexchange.com/questions/153660/why-echo-help-doesnt-give-me-help-page-of-echo
Meaning of -n in bash
The -n argument to test (aka [) means "is not empty". The example you posted means "if $1 is not not empty. It's a roundabout way of saying [ -z "$1" ]; ($1 is empty).
You can learn more with help test.
$1 and others ($2, $3..) are positional parameters. They're what was passed as arguments to the script or function you're in. For example, running a script named foo as ./foo bar baz would result in $1 == bar, $2 == baz
Source: parameters - What does -n mean in Bash? - Stack Overflow
Wednesday, November 30, 2022
Make a duplicate copy of a specified file using bash shell script
#!/usr/bin/bash
#if [ $# -lt 2 ] || [ $# -gt 2 ]
#if test $# -lt 2 -o $# -gt 2
#if [[ $# -lt 2 ]] || [[ $# -gt 2 ]]
if (($# < 2)) || (( $# > 2 ))
then
echo invalid
exit
else
echo file to be copied : $1
echo new file name : $2
cp $1 $2
echo copy successful
fi
leap year program in bash shell script
#/usr/bin/bash
echo "Enter year"
read year
if [[ $(($year % 100)) -ne 0 ]]
#if (((year%100)!=0))
#if [ $(($year % 100)) -ne 0 ]
then
if [ $(($year%4)) -eq 0 ]
then
echo "Leap Year"
else
echo "Not a leap year"
fi
else
if [ $(($year % 400)) -eq 0 ]
then
echo "Leap Year"
else
echo "Not a leap year"
fi
fi
Different ways to implement numerical comparisons using if else in bash
 #!/usr/bin/bash
echo "enter a number"
read num
if [[ $num -ge 1 ]] && [[ $num -lt 10 ]]
then
echo "A"
elif [[ $num -ge 10 ]] && [[ $num -lt 90 ]]
then
echo "B"
elif [[ $num -ge 90 ]] && [[ $num -lt 100 ]]
then
echo "C"
else
echo "D"
fi
#!/bin/bash
echo "enter a number"
read num
if (( num >= 1)) && ((num<10))
then
echo "sam"
elif ((num >= 10)) && ((num < 90 ))
then
echo "ram"
elif ((num >= 90)) && ((num  <100))
then
echo "rahim"
else
echo "tara"
fi
#!/bin/bash
echo "enter a number"
read num
if [ $num -ge 1 ] && [ $num -lt 10 ]
then
echo "A"
elif [ $num -ge 10 ] && [ $num -lt 90 ]
then
echo "B"
elif [ $num -ge 90 ] && [ $num -lt 100 ]
then
echo "C"
else
echo "D"
fi
Monday, November 28, 2022
Matching username from input with /etc/passwd without grep
#/bin/bash
echo "enter username to check"
read username
match=0
for line in `cat /etc/passwd`
do
if test `echo $line | cut -d ":" -f 1| cut -d "," -f 1` == $username ;
then
#match=$(($match+1))
#let "match=match+1"
#let "match++"
((match++))
fi
done
if [ $match -gt 0 ];
then
echo "$username is valid because match is $match"
else
echo "$username is not valid because match is $match"
fi
Sunday, November 27, 2022
Get length of a string in bash shell script
#!/bin/bash
# Create a new string
mystring="lets count the length of this string"
i=${#mystring}
echo "Length: $i"
Source:https://www.hostinger.in/tutorials/bash-script-example
If else example in bash shell script,explanation on the difference ofusage of no bracket and single bracket after if
#!/bin/bash
salary=1000
expenses=800
#Check if salary and expenses are equal
if test $salary == $expenses ;
then
echo "Salary and expenses are equal"
#Check if salary and expenses are not equal
elif test $salary != $expenses ;
then
echo "Salary and expenses are not equal"
fi
[ is actually a command, equivalent (almost, see below) to the test command. It's not part of the shell syntax. (Both [ and test, depending on the shell, are often built-in commands as well, but that doesn't affect their behavior, except perhaps for performance.)
An if statement executes a command and executes the then part if the command succeeds, or the else part (if any) if it fails. (A command succeeds if it exits with a status ($?) of 0, fails if it exits with a non-zero status.)
In
if [ "$name" = 'Bob' ]; then ...
the command is
[ "$name" = 'Bob' ]
(You could execute that same command directly, without the if.)
In
if grep -q "$text" $file ; then ...
the command is
grep -q "$text" $file
man [ or man test for more information.
FOOTNOTE: Well, the [ command is almost equivalent to the test command. The difference is that [ requires ] as its last argument, and test does not -- and in fact doesn't allow it (more precisely, test doesn't treat a ] argument specially; for example it could be a valid file name). (It didn't have to be implemented that way, but a [ without a matching ] would have made a lot of people very very nervous.)
Source:https://stackoverflow.com/questions/8934012/when-are-square-brackets-required-in-a-bash-if-statement
Array example in bash shell script
#!/bin/bash
# Create an indexed array
IndexedArray=(egg burger milk)
#Iterate over the array to get all the values
for i in "${IndexedArray[@]}";do echo "$i";done
Source:https://www.hostinger.in/tutorials/bash-script-example
Thursday, November 24, 2022
Create a file and write something to it using perl
use strict;
use warnings;
$|=1;
sub main{
my $output='output.txt';
open(OUTPUT,'>'.$output)or die "Can't create $output.\n";
print OUTPUT "Hello\n";
close(OUTPUT);
}
main();
Read lines from a text file and print those lines based on condition using perl
use strict;
use warnings;
#disabling output buffering
$|=1;
sub main{
#my @files=('./a.txt','./b.txt','./c.txt',);
my $file='./a.txt';
open(INPUT,$file) or die("Input file $file not found.\n");
while(my $line=<INPUT>)
{
if($line=~/abc/)
{
print $line;
}
}
close(INPUT);
}
main();
Check the existence of multiple files using array in perl
use strict;
use warnings;
#disabling output buffering
$|=1;
sub main{
my @files=('./a.txt','./b.txt','./c.txt',);
#my $file='./a.txt';
foreach my $file(@files){
print "$file\n";
if(-f $file)
{
print "$file exists\n";
}
else
{
print "$file does not exist\n";
}
}
}
main();
else
{
print "$file does not exist\n";
}
}
}
main();
Check if a file exists using perl
use strict;
use warnings;
sub main{
my $file='./a.txt';
if(-f $file)
{
print "$file exists\n";
}
else
{
print "$file does not exist\n";
}
}
main();
Find the files created in the guest machine in windows subsystem in linux (WSL2)
In the guest terminal
just enter:
explorer.exe . Source:https://superuser.com/questions/1185033/what-is-the-home-directory-on-windows-subsystem-for-linux Check if an username is present in /etc/passwd using shell script
 #!/bin/bash
read -rep $'Please enter username\n' username
#echo "you have entered $username"
if [ `grep -c $username /etc/passwd` -eq 0 ]
then
echo "$username is invalid"
else
echo "$username is valid"
fi
Wednesday, November 23, 2022
Storing the source code of a webpage in a variable using lwp and perl
use strict;
use warnings;
use LWP::Simple;
sub main{
print "Downloading ... \n";
#print get("http://www.google.com/");
#getstore("http://www.google.com","./source.code.html");
#to receive the response just as string we need to use single quote
#getstore('https://en.wikipedia.org/wiki/Main_Page#/media/File:Kathryn_Sullivan,_PCAST_Member_(cropped).jpg','face.jpg'>
my $code=getstore('https://en.wikipedia.org/wiki/Main_Page#/media/File:Kathryn_Sullivan,_PCAST_Member_(cropped).jpg','f>if($code==200)
{
print "Success\n";
}
else{
print "Failed\n";
}
print "Finished\n";
}
main();
Downloading and storing the source code of a web page in a file using lwp and perl
 use strict;
use warnings;
use LWP::Simple;
sub main{
print "Downloading ... \n";
#print get("http://www.google.com/");
getstore("http://www.google.com","./source.code.html");
print "Finished\n";
}
main();
Downloading and printing html css code of a page using perl and lwp
 use strict;
use warnings;
use LWP::Simple;
sub main{
print "Downloading ... \n";
print get("http://www.google.com/");
print "Finished\n";
}
main();
Tuesday, November 22, 2022
Find size of individual files of a particular extension in bash
 echo "enter extension"
read ext
for i in `find . -name "*.$ext" -type f`; do
   # echo "$i"
   echo `du -k "$i" | cut -f1`
done
Find files of a particular extension in bash
 echo "enter extension"
read ext
for i in `find . -name "*.$ext" -type f`; do
    echo "$i"
done
Find total size of files of an extension given as input in bash
 #!/bin/bash
echo "Please enter extension"
read ext
total=0
for i in $(pwd)/*.$ext
do
#filesize=$((`stat --printf="%s" $i`))
#filesize=$((`wc -c $i | awk '{print $1}'))
filesize=$((`wc -c $i | cut -d " " -f 1`))
total=$(($total+$filesize))
done
echo "The total size of $ext files in present directory is $total"
#alternate way
#!/usr/bin/bash
read -rep $'Please enter the extension\n' ext
total=0
for i in `ls`
do
if [[ "$i" == *"$ext"* ]]
then
#echo $i
total=$(($total + `du -k $i | cut -f 1`))
fi
done
echo "The total size of $ext files is $total"
Thursday, November 17, 2022
Some bash keyboard shortcuts and special characters
Some bash keyboard shortcuts
- Esc + T: Swap the last two words before the cursor
- Ctrl + H: Delete the letter starting at the cursor
- Ctrl + W: Delete the word starting at the cursor
- TAB: Auto-complete files, directory, command names and much more
- Ctrl + R: To see the command history.
- Ctrl + U: Clear the line
- Ctrl + C: Cancel currently running commands.
- Ctrl + L: Clear the screen
- Ctrl + T: Swap the last two characters before the cursor
Some bash special characters 
| Characters | Description | 
|---|---|
| / | Directory separator, used to separate a string of directory names. Example: /home/projects/file | 
| \ | Escape character. If you want to reference a special character, you must “escape” it with a backslash first. Example: \nmeans newline;\vmeans vertical tab;\rmeans return | 
| # | Lines starting with #will not be executed. These lines are comments | 
| . | Current directory. When its the first character in a filename, it can also “hide” files | 
| .. | Returns the parent directory | 
| ~ | Returns user’s home directory | 
| ~+ | Returns the current working directory. It corresponds to the $PWDinternal variable | 
| ~- | Returns the previous working directory. It corresponds to the $OLDPWDinternal variable | 
| * | Represents 0 or more characters in a filename, or by itself, it matches all files in a directory.  Example: file*2019can return:file2019,file_comp2019,fileMay2019 | 
| [] | Can be used to represent a range of values, e.g. [0-9], [A-Z], etc. Example: file[3-5].txtrepresentsfile3.txt,file4.txt,file5.txt | 
| | | Known as “pipe". It redirects the output of the previous command into the input of the next command. Example: ls | less | 
| < | It redirects a file as an input to a program. Example: more < file.txt | 
| > | In script name >filename it will redirect the output of “script name” to “file filename”. Overwrite filename if it already exists. Example: ls > file.txt | 
| >> | Redirect and append the output of the command to the end of the file. Example: echo "To the end of file" >> file.txt | 
| & | Execute a job in the background and immediately get your shell back. Example: sleep 10 & | 
| && | “AND logical operator”. It returns (success) only if both the linked
 test conditions are true. It would run the second command only if the 
first one ran without errors. Example: let "num = (( 0 && 1 ))";cd/comp/projs && less messages | 
| ; | “Command separator”. Allows you to execute multiple commands in a single line. Example: cd/comp/projs ; less messages | 
| ? | This character serves as a single character in a filename. Example: file?.txtcan representfile1.txt,file2.txt,file3.txt | 
Wednesday, November 16, 2022
Some loop examples in bash scripting for and while
 
for i in  1 2 3 4 5
do
echo "Maharshi"
done
for i in  {0..10..5}
do
echo -e "Maharshi\t$i"
done
for i in  {10..0..-5}
do
echo -e "Maharshi\t$i"
done
for i in {1..10}
do
printf "%s\n%s\n" "Galgotias" "UNiversity";
done
for i in $(seq 1 10)
do
printf "%s\n%s\n" "Galgotias" "UNiversity";
done
for i in $(seq 1 2 10)
do
printf "i is %d\n" "$i";
done
for i in $(seq 10 -2 1)
do
printf "i is %d\n" "$i";
done
for((i=4;i<10;i++))
do
echo "Maharshi";
done
echo "enter a number";
read number;
if (((number < 10))  &&  ((number > 1)))||(((number<100))&&((number>90)))
then
echo $number;
fi
i=0
while ((i < 5 ))
do
echo "maharshi";
i=$(($i+1));
done
arithmatic expansion
i=15;
i=$(($i*5));
echo $i;
Digonal number pattern in bash solved
  printf "Enter row number";
    read n;
    c=1
    for((i=1;i<=(n-1);i++))
    {
   
        for((j=1;j<=(n-1);j++))
        {
            if(((i==j)||(j==(n-i))))
            then
            printf $c ;
            else
            printf " ";
            fi
        }
        if ((c>=4))
        then
        ((c=c-1));
        else
        ((c=c+1));
        fi
        printf "\n";
    }
Monday, November 14, 2022
Set up cgi-perl in Debian 11
apt-get install apache2
/sbin/a2enmod cgid
systemctl restart apache2
cd /usr/lib/cgi-bin
nano /usr/lib/cgi-bin/test.pl
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
print ("<h1>Perl is working!</h1>");
Some bash shell script examples for beginners
even odd
echo "Please enter a number"
read num
if [ `expr $num % 2`  == 0 ]
then
echo "$num is even"
else
echo "$num is odd"
fi
largest of three numbers
echo "please enter 3 numbers"
read num1
read num2
read num3
if test $num1 -gt $num2 -a $num1 -gt $num3
then 
echo "$num1 is the greatest"
elif test $num2 -gt $num3
then
echo "$num2 is the greatest"
else
echo "$num3 is the greatest"
fi
calculate net salary
echo "enter basic salary"
read bs
hra=`echo $bs*10/100 | bc`
ta=`echo $bs*15/100 | bc`
da=`echo $bs*2/100 | bc`
pf=`echo $bs*10/100 | bc`
tax=`echo $bs*5/100 | bc`
netsal=`echo $bs+$hra+$ta+$da-$pf-$tax | bc`
echo "net salary is $netsal"
calculate conditional discount and tax
echo  "please enter the amount that you want to buy"
read amount
if test  $amount -lt 1000 
then
tax=`echo $amount \* 2/100 | bc`
discount=`echo $amount \* 10/100 | bc`
else
tax=`echo $amount \* 5/100 | bc`
discount=`echo $amount \* 20/100 | bc`
fi
totalcost=`echo $amount - $tax + $discount | bc`
echo  "total cost is $totalcost"
Sunday, October 30, 2022
Perl loop assignment solved
 In this exercise, you will need to loop through and print out all even numbers from the @NUMBERS array in the same order they are received. Don't print any numbers that come after 237 in the array.
@NUMBERS = (951,402,984,651,360,69,408,319,601,485,980,507,725,547,544,615,83,165,141,501,263,617,865,575,219,390,237,412,566,826,248,866,950,626,949,687,217,815,67,104,58,512,24,892,894,767,553,81,379,843,831,445,742,717,958,609,842,451,688,753,854,685,93,857,440,380,126,721,328,753,470,743,527);
for($i=0;($i<=$#NUMBERS);$i+=1) {
if ($NUMBERS[$i]==237)
{
last;
}
if ($NUMBERS[$i]%2==0)
{
print $NUMBERS[$i]."\n";
}
} 
Perl way
@NUMBERS = (951,402,984,651,360,69,408,319,601,485,980,507,725,547,544,615,83,165,141,501,263,617,865,575,219,390,237,412,566,826,248,866,950,626,949,687,217,815,67,104,58,512,24,892,894,767,553,81,379,843,831,445,742,717,958,609,842,451,688,753,854,685,93,857,440,380,126,721,328,753,470,743,527);
foreach $number (@NUMBERS) {
    if ($number % 2 == 0) {
        print $number . "\n";
    }
    last if ($number == 237);
}
Perl Assignment solved using array and hash
 An array @family holds a list of family member names. The first hash %shoe_color contains favorite shoe color per person name. The second hash %shoe_size contains shoe size per person name.
Evaluate and print the favorite shoe color and shoe size per each family member. For shoe sizes 10 and above, add the word 'large' to the output line.
Output lines should be in the format: "Homer wears large brown shoes size 12".
Note: not all family members may be included in the hash variables, so you better conditionally check if they exist or not (using the exists operator). If a name does not exist, add the key/value pair into the hash variables - for show color add: black; for shoe size add 99.
Solution
@family = ('Homer', 'Moe', 'Maggie');
%shoe_color = ('Lisa' => 'red', 'Homer' => 'brown', 'Maggie' => 'pink', 'Marge' => 'blue', 'Bart' => 'yellow');
%shoe_size = ('Moe' => 9, 'Lisa' => 7, 'Homer' => 12, 'Bart' => 8, 'Maggie' => 4);
$default_shoe_color = "black";
$default_shoe_size = 4;
$member = $family[0];
if (!exists $shoe_color{$member}) {
    $shoe_color{$member} = $default_shoe_color;
}
if (!exists $shoe_size{$member}) {
    $shoe_size{$member} = $default_shoe_size;
}
$is_large = ($shoe_size{$member} >= 10) ? " large " : " ";
print "$member wears$is_large$shoe_color{$member} shoes size $shoe_size{$member}\n";
$member = $family[1];
if (!exists $shoe_color{$member}) {
    $shoe_color{$member} = $default_shoe_color;
}
if (!exists $shoe_size{$member}) {
    $shoe_size{$member} = $default_shoe_size;
}
$is_large = ($shoe_size{$member} >= 10) ? " large " : " ";
print "$member wears$is_large$shoe_color{$member} shoes size $shoe_size{$member}\n";
$member = $family[2];
if (!exists $shoe_color{$member}) {
    $shoe_color{$member} = $default_shoe_color;
}
if (!exists $shoe_size{$member}) {
    $shoe_size{$member} = $default_shoe_size;
}
$is_large = ($shoe_size{$member} >= 10) ? " large " : " ";
print "$member wears$is_large$shoe_color{$member} shoes size $shoe_size{$member}\n";
Perl assignment solved using array and hash
 Assign the hash variable called car_catalog to include the following car models and their showroom prices in dollars. Use the car model name as the hash key. The cars and prices are:
    Model: BMW Series 5, price: 100000
    Model: Mercedes 2000, price: 250000
    Model: Toyota Corolla, price: 20000
    Model: Lexus 3, price: 95000
Assign an array variable called my_wishlist with the two cars you want to buy: the first array element is the full model name of the BMW car and the second array model is the full model name of the Toyota car. Use the array variable contents as keys to the hash variable in order to print lines in the following format: "I would like to buy one for the price of Dollars."
Solution
%car_catalog = ("BMW Series 5" => 100000 , "Mercedes 2000" => 250000, "Toyota Corolla" => 20000,"Lexus 3"=>95000);
@my_wishlist = ("BMW Series 5","Toyota Corolla");
print "I would like to buy one $my_wishlist[0] for the price of $car_catalog{$my_wishlist[0]} Dollars.\n";
print "I would like to buy one $my_wishlist[1] for the price of $car_catalog{$my_wishlist[1]} Dollars.\n";
Source:https://www.learn-perl.org/en/Variables_and_Types
Array and hash example in perl
 @item_price_list = (5 , 8 , 24);
@item_name_list = ("Apple", "Banana", "Mushroom");
print "The price of one $item_name_list[0] is $item_price_list[0] gold coins.\n";
print "The price of one $item_name_list[1] is $item_price_list[1] gold coins.\n";
print "The price of one $item_name_list[2] is $item_price_list[2] gold coins.\n";
%item_catalog = ("Apple" => 5 , "Banana" => 8, "Mushroom" => 24);
# note the required backslash to escape the double-quotes around the key string Apple
print "The price of one Apple is $item_catalog{\"Apple\"} gold coins.\n";
$item_name = "Banana";
print "The price of one $item_name is $item_catalog{$item_name} gold coins.\n";
@item_name_list = ("Apple", "Banana", "Mushroom");
print "The price of one $item_name_list[2] is $item_catalog{$item_name_list[2]} gold coins.\n";
Friday, October 21, 2022
Calculate the area of a right angle triangle using a package in perl
Thursday, October 20, 2022
Sorting array of numbers in perl
Sorting array of strings in perl
matrix assignment in perl
 sub printMat {
  #write the code for making and printing the matrix here
  #use can use \n to move numers to next line in the matrix
  #use " " to add space between numbers in matrix
  #print "Write your code below"; #comment out this line when you start writing cod
  for ($i = 0; $i < 4 ; $i++) {
    for ($j = 0; $j < 4; $j++) {
      if ($i==$j)
      {
        $val=0;
      }
      elsif($j<$i)
      {
        $val=-1;
      }
      else{
        $val=1;
      }
       $comparisonAdjectives[$i][$j] = $val;
    }
  }
  for ($i = 0; $i < 4 ; $i++) {
    for ($j = 0; $j < 4; $j++) {
      if ($comparisonAdjectives[$i][$j]>=0){
          print " ".$comparisonAdjectives[$i][$j]." ";
      }
      else
      {
          print $comparisonAdjectives[$i][$j]." ";
      }
      
    }
    print "\n";
  }
}
printMat();
Multidimensional array in perl
Find maximum value from an array using perl
 
 
