Home arrow Perl Programming arrow Page 4 - Perl: Sailing the List(less) Seas

Replacing an Element Using a Slice OR Slice and Dice - Perl

People love lists. Everywhere you look you see them. On magazines, on television. They're everywhere; you can't escape. In this article and the ones that follow, I am going to teach you to blend in with the crowd by using Perl to create lists, multidimensional lists, and hashes, and furthermore, I'll show you how to manipulate each of them.

TABLE OF CONTENTS:
  1. Perl: Sailing the List(less) Seas
  2. Printing Specific Elements
  3. Slices
  4. Replacing an Element Using a Slice OR Slice and Dice
By: James Payne
Rating: starstarstarstarstar / 2
March 17, 2008

print this article
SEARCH DEV SHED

TOOLS YOU CAN USE

advertisement

One method for replacing an element with another element is to use a slice, as demonstrated in the following example. Let's say that Nitro got mad because his mullet got pulled one too many times and he decided to quit. The crew at Gladiators interviewed a bunch of muscles and decided to go with a five foot four, 300 pound guy with a napoleon complex named Glutious-Minimus. Now they would have to add him to their list and remove Nitro, like so:


#!/usr/bin/perl

@gladiators=('Nitro ', 'Blaze ', 'CountFistula ','TheNutcracker ');

$gladiators[0] = "Glutious-Minimus ";

print @gladiators;

This code does what we set out for it to do: remove Nitro and insert Glutious in his position. If we had said $gladiators[1], then it would have replaced Blaze, and so forth.

Here is the result:

  Glutious-Minimus Blaze CountFistula TheNutcracker

But what if Nitro didn't quit and the Gladiators just wanted to expand, and hired on our wee friend Glutious? We can add him using the same method; just append him to the end of the list, like so:


#!/usr/bin/perl

@gladiators=('Nitro ', 'Blaze ', 'CountFistula ','TheNutcracker ');

$gladiators[4] = "Glutious-Minimus ";

print @gladiators;

Now we have the result:

  Nitro Blaze CountFistula TheNutcracker Glutious-Minimus

And finally, if we want to leave space for another gladiator and don't want to append them to the end, we don't have to assign Glutious to position four at all. We could put him at five, six, or whatever position we like. Here, we will put him in position five, leaving four open:


#!/usr/bin/perl

@gladiators=('Nitro ', 'Blaze ', 'CountFistula ','TheNutcracker ');

$gladiators[5] = "Glutious-Minimus ";

print @gladiators;

When you print this out, you cannot tell that four is open. But what if we use our element counter from before?


#!/usr/bin/perl

@gladiators=('Nitro ', 'Blaze ', 'CountFistula ','TheNutcracker ');

$gladiators[5] = "Glutious-Minimus ";

print $#gladiators;

As you can see, this will print out 5, which isn't really the amount of elements in the array. Remember, when using this method it simply gives you the last numbered element, not the real number of elements in the array.

Well that's it for this article. In the next one we will cover some more ways to work with lists and likely delve into hashes as well. So drop by often.

Till then...



 
 
>>> More Perl Programming Articles          >>> More By James Payne
 

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort
   

PERL PROGRAMMING ARTICLES

- Perl Turns 25
- Lists and Arguments in Perl
- Variables and Arguments in Perl
- Understanding Scope and Packages in Perl
- Arguments and Return Values in Perl
- Invoking Perl Subroutines and Functions
- Subroutines and Functions in Perl
- Perl Basics: Writing and Debugging Programs
- Structure and Statements in Perl
- First Steps in Perl
- Completing Regular Expression Basics
- Modifiers, Boundaries, and Regular Expressio...
- Quantifiers and Other Regular Expression Bas...
- Parsing and Regular Expression Basics
- Hash Functions

Developer Shed Affiliates

 


Dev Shed Tutorial Topics: