my @content = (12, 8, 15);
Με τον τρόπο αυτό δημιουργήσαμε μια λίστα με τις τιμές 12, 8 και 15
my $deytero = $content[1];
Τώρα δώσαμε στη (scalar) μεταβλητή $deytero την τιμή της δεύτερης εγγραφής της λίστας (δηλαδή 8). Το $content[1] σημαίνει πάρε τη δεύτερη εγγραφή και όχι την πρώτη επειδή η Perl ξεκινάει το μέτρημα από το 0. Έτσι, $content[0] είναι η τιμή 12 και $content[2] η τιμή 15.
my $trito = $content[-1];
Αν θέλουμε μπορούμε να μετρήσουμε και από το τέλος της array. Τότε όμως η αρίθμηση ξεκινάει από το 1 (αφού δεν υπάρχει 0) οπότε το $content[-1] θα έχει την τιμή 15, το $content[-2] θα έχει την τιμή 8 και το $content[-3] θα έχει την τιμή 12.
$content[0] = 7;
Με τον τρόπο αυτό αλλάζουμε μια τιμή της λίστας (array). Στην προκειμένη περίπτωση το 8 γίνεται 7.
my @new_content = @content[2,0];
Έτσι δημιουργούμε μια καινούρια array η οποία θα περιέχει τιμές από την ήδη υπάρχουσα. Το 15 που θα είναι πρώτο και το 7 που θα είναι δεύτερο (θυμηθείτε ότι το 12 άλλαξε παραπάνω και έγινε 7).
unshift (@content, 22);
Έτσι προσθέτουμε μια τιμή στην αρχή κάποιας array. Τώρα η @content περιέχει τα:
22, 7, 8, 15
unshift (@content, ('giorgos',25,36));
Μπορούμε να προσθέσουμε πολλά τιμές ταυτόχρονα και όλες θα τοποθετηθούν στην αρχή της array. Τώρα η @content περιέχει τα:
giorgos, 25, 36, 22, 7, 8, 15
push (@content, 1453);
Νέες τιμές μπορούν να προστεθούν και στο τέλος της array, χάρη στην push. Τώρα η @content περιέχει τα:
giorgos, 25, 36, 22, 7, 8, 15, 1453
Φυσικά και εδώ μπορούν να προστεθούν πολλές τιμές μαζί:
push (@content, (330, 1204));
Τώρα η @content περιέχει τα:
giorgos, 25, 36, 22, 7, 8, 15, 1453, 330, 1204
Προσέξτε ότι τα περιεχόμενα της array @content εμφανίζονται με αυτόν τον τρόπο (χωρισμένα με κενά και κόμματα) μόνο αν η εντολή εκτύπωσης περιέχει την @content μέσα σε εισαγωγικά. (π.χ. print "@content\n";). Αν εμείς δηλώσουμε:
print @content;
Τότε το αποτέλεσμα θα είναι:
giorgos253622781514533301204
Απλός είναι και ο τρόπος με τον οποίο μπορούμε να αφαιρέσουμε μια τιμή από την αρχή ή το τέλος μιας array.
Με το:
my $arxi = shift(@content);
Η scalar μεταβλητή $arxi αποκτά την τιμή giorgos και τα περιεχόμενα της array (@content είναι πλέον:
25, 36, 22, 7, 8, 15, 1453, 330, 1204
Αντίστοιχα, αν θέλουμε να πάρουμε την πρώτη τιμή από το τέλος δηλώνουμε:
my $telos = pop(@content);
Όπου $telos = 1204 και τα περιεχόμενα της array (@content είναι πλέον:
25, 36, 22, 7, 8, 15, 1453, 330, 1204
Θα τελειώσουμε με μερικά μικροπράγματα:
my @a = (12, 24, 48);
my $b = @a;
$b = 3 (η scalar μεταβλητή μας δίνει τον αριθμό των περιεχομένων της λίστας)
Το ίδιο περίπου αποτέλεσμα επιτυγχάνουμε και με τον τελεστή $# που μας δίνει τη θέση του τελευταίου στοιχείου της λίστας (στο παράδειγμα που ακολουθεί του three).
my @test = ('one', 'two', 'three');
my $last_element_number = $#test;
Εδώ το $last_element_number θα έχει την τιμή 2.
my @c = (153);
Λίστα με μια τιμή (153)
my @d = 12;
Λίστα με μια τιμή (12)
my @e = (128, 256, @a);
Λίστα με τις τιμές 128, 256, 12, 24, 48
my @f = (12 .. 25);
Λίστα με τις τιμές 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
Όλες οι παραπάνω λειτουργίες δοκιμάστηκαν στο ακόλουθο παράδειγμα:
#!/usr/bin/perl -w
use strict;
my @content = (12, 8, 15);
my $deytero = $content[1];
print "$deytero\n";
my $trito = $content[-1];
print "$trito\n";
$content[0] = 7;
print "@content\n";
my @new_content = @content[2,0];
print "@new_content\n";
unshift (@content, 22);
print "@content\n";
unshift (@content, ('giorgos',25,36));
print "@content\n";
push (@content, 1453);
print "@content\n";
push (@content, (330, 1204));
print "@content\n";
print @content;
my $arxi = shift(@content);
print "$arxi\n";
print "@content\n";
my $telos = pop(@content);
print "$telos\n";
print "@content\n";
my @a = (12, 24, 48);
my $b = @a;
print "$b\n";
my @c = (153);
print "@c\n";
my @d = 12;
print "@d\n";
my @e = (128, 256, @a);
print "@e\n";
my @f = (12 .. 25);
print "@f\n";