Latest web development tutorials

Perl-Array

Ein Array ist ein skalarer Wert ungeordnete Liste von Variablen gespeichert.

@ Der Anfang eines Arrays von Variablen. Access - Array - Elemente unter Verwendung von$ variable + name + [index] Format zu lesen, Beispiele sind wie folgt:

#!/usr/bin/perl

@hits = (25, 30, 40);             
@names = ("google", "w3big", "taobao");

print "\$hits[0] = $hits[0]\n";
print "\$hits[1] = $hits[1]\n";
print "\$hits[2] = $hits[2]\n";
print "\$names[0] = $names[0]\n";
print "\$names[1] = $names[1]\n";
print "\$names[2] = $names[2]\n";

Das Programm verwendet das $ Symbol \ zu entkommen, so dass er ausgegeben.

Das obige Programm, das Ausgabe ist:

$hits[0] = 25
$hits[1] = 30
$hits[2] = 40
$names[0] = google
$names[1] = w3big
$names[2] = taobao

Erstellen eines Arrays

Array - Variable mit dem Symbol@ Start ist das Element in Klammern können auch qwdefinieren werden Arrays beginnen.

@array = (1, 2, 'Hello');
@array = qw/这是 一个 数组/;

Das zweite Array mit demqw // Operator, der eine Liste von Strings zurückgibt, Array - Elemente durch Leerzeichen getrennt.Natürlich können Sie auch mehrere Zeilen zu definieren, um das Array verwenden:

@days = qw/google
taobao
...
w3big/;

Sie können auch einen Index in das Array zuweisen, wie folgt:

$array[0] = 'Monday';
...
$array[6] = 'Sunday';

Zugang Array-Elemente

Access - Array - Elemente unter Verwendung von$ variable + name + [index] Format zu lesen, Beispiele sind wie folgt:

@sites = qw/google taobao w3big/;

print "$sites[0]\n";
print "$sites[1]\n";
print "$sites[2]\n";
print "$sites[-1]\n";    # 负数,反向读取

Das obige Programm, das Ausgabe ist:

google
taobao
w3big
w3big

Array-Index von 0 beginnt, die 0 für das erste Element, das zweite Element 1, und so weiter.

Negative Lesevorgang von der Rückseite, -1 ist das erste Element, -2 ist das zweite Element


Array Seriennummer

Perl stellt eine Sequenz in der Form einer Anordnung von Ausgangs in dem Formatdes Endwertes Startwert sein kann + + ..Beispiele sind wie folgt:

#!/usr/bin/perl

@var_10 = (1..10);
@var_20 = (10..20);
@var_abc = (a..z);

print "@var_10\n";   # 输出 1 到 10
print "@var_20\n";   # 输出 10 到 20
print "@var_abc\n";  # 输出 a 到 z
<p>执行以上程序,输出结果为:</p>
<pre>
1 2 3 4 5 6 7 8 9 10
10 11 12 13 14 15 16 17 18 19 20
a b c d e f g h i j k l m n o p q r s t u v w x y z

Feldgröße

Der Kontext wird durch die Größe des Arrays Array Skalar bestimmt. :

@array = (1,2,3);
print "数组大小: ",标量 @array,"\n";

Gibt die Länge des Arrays ist ein Array von physikalischen Größe, anstatt die Anzahl der Elemente, können wir die folgenden Beispiele finden Sie unter:

#!/uer/bin/perl

@array = (1,2,3);
$array[50] = 4;

$size = @array;
$max_index = $#array;

print "数组大小:  $size\n";
print "最大索引: $max_index\n";

Das obige Programm, das Ausgabe ist:

数组大小:  51
最大索引: 50

Wie aus der Ergebnisausgabe zu sehen ist, sind die Array-Elemente nur vier, aber die Größe des Arrays 51.


Hinzufügen und Entfernen von Array-Elementen

Perl bietet eine Reihe von nützlichen Funktionen Array-Elemente hinzufügen und entfernen.

Wenn keine Programmiererfahrung , bevor Sie fragen sich vielleicht , was die Funktion ist in der Tat, bevor wir Gebrauch zudrucken, das ist eine Ausgabefunktion.

In der folgenden Tabelle sind die allgemeinen Funktionen Array-Bearbeitung:

Nein. Art und Beschreibung
1 Push @ARRAY, LIST

Die Liste der Werte in das Ende des Arrays

2 pop @ARRAY

Pop der letzte Wert Array und gibt es

3 verschieben @ARRAY

Array pop dem ersten Wert und gibt ihn zurück. Der Indexwert des Arrays sequenziell minus eins.

4 unshift @ARRAY, LIST

Die Liste vor einem Array und gibt die Anzahl der Elemente in dem neuen Array.

Beispiele

#!/usr/bin/perl

# 创建一个简单是数组
@sites = ("google","w3big","taobao");
print "1. \@sites  = @sites\n";

# 在数组结尾添加一个元素
push(@sites, "baidu");
print "2. \@sites  = @sites\n";

# 在数组开头添加一个元素
unshift(@sites, "weibo");
print "3. \@sites  = @sites\n";

# 删除数组末尾的元素
pop(@sites);
print "4. \@sites  = @sites\n";

# 移除数组开头的元素
shift(@sites);
print "5. \@sites  = @sites\n";

Das obige Programm, das Ausgabe ist:


Cutting-Array

Wir können ein Array geschnitten und gibt ein neues Array nach dem Schneiden:

#!/usr/bin/perl

@sites = qw/google taobao w3big weibo qq facebook 网易/;

@sites2 = @sites[3,4,5];

print "@sites2\n";

Das obige Programm, das Ausgabe ist:

weibo qq facebook

Sie benötigen einen gültigen Index des Array-Index-Wert angeben, können nach einer positiven Zahl, jeder Indexwert mit Komma negativ sein.

Wenn der Index kontinuierlich ist, können Sie.. verwenden Sie den angegebenen Bereich zu repräsentieren:

#!/usr/bin/perl

@sites = qw/google taobao w3big weibo qq facebook 网易/;

@sites2 = @sites[3..5];

print "@sites2\n";

Das obige Programm, das Ausgabe ist:

weibo qq facebook

Ersetzen Sie Array-Elemente

Perl Arrayelemente austauschbar verwendet in der Spleißstelle () Funktion Syntax lautet wie folgt:

splice @ARRAY, OFFSET [ , LENGTH [ , LIST ] ]

Parameter Beschreibung:

  • @ARRAY: Um das Array zu ersetzen.
  • OFFSET: Ausgangsposition.
  • LÄNGE: Ersetzen Sie die Anzahl der Elemente.
  • LIST: Ersetzen Sie die Elementliste.

Die folgenden Beispiele beginnen, das sechste Element des Arrays von fünf Elemente zu ersetzen:

#!/usr/bin/perl

@nums = (1..20);
print "替换前 - @nums\n";

splice(@nums, 5, 5, 21..25); 
print "替换后 - @nums\n";

Das obige Programm, das Ausgabe ist:

替换前 - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
替换后 - 1 2 3 4 5 21 22 23 24 25 11 12 13 14 15 16 17 18 19 20

Wandelt String in ein Array

Perl wird ein String-Array mit der Funktion split () Syntax konvertieren ist wie folgt:

split [ PATTERN [ , EXPR [ , LIMIT ] ] ]

Parameter Beschreibung:

  • MUSTER: Separator, Standardräume.
  • EXPR: Gibt die Anzahl der Strings.
  • LIMIT: Wenn Sie diesen Parameter angeben, die Anzahl der Elemente in dem Array zurückgegeben.

Beispiele

#!/usr/bin/perl

# 定义字符串
$var_test = "w3big";
$var_string = "www-w3big-com";
$var_names = "google,taobao,w3big,weibo";

# 字符串转为数组
@test = split('', $var_test);
@string = split('-', $var_string);
@names  = split(',', $var_names);

print "$test[3]\n";  # 输出 com
print "$string[2]\n";  # 输出 com
print "$names[3]\n";   # 输出 weibo

Das obige Programm, das Ausgabe ist:

o
com
weibo

Das Array wird in einen String umgewandelt

Perl im Array in einen String die Join () -Funktion Syntax lautet wie folgt:

join EXPR, LIST

Parameter Beschreibung:

  • EXPR: Stecker.
  • LIST: Liste oder Array.

Beispiele

#!/usr/bin/perl

# 定义字符串
$var_string = "www-w3big-com";
$var_names = "google,taobao,w3big,weibo";

# 字符串转为数组
@string = split('-', $var_string);
@names  = split(',', $var_names);


# 数组转为字符串
$string1 = join( '-', @string );
$string2 = join( ',', @names );

print "$string1\n";
print "$string2\n";

Das obige Programm, das Ausgabe ist:

www-w3big-com
google,taobao,w3big,weibo

Sortieren eines Array

Perl Art Arrays mit sort () Funktion Syntax lautet wie folgt:

sort [ SUBROUTINE ] LIST

Parameter Beschreibung:

  • SUBROUTINE: Geben Sie Regeln.
  • LIMIT: Liste oder Array.

Beispiele

#!/usr/bin/perl

# 定义数组
@sites = qw(google taobao w3big facebook);
print "排序前: @sites\n";

# 对数组进行排序
@sites = sort(@sites);
print "排序前: @sites\n";

Das obige Programm, das Ausgabe ist:

排序前: google taobao w3big facebook
排序前: facebook google w3big taobao

Hinweis: Sortieren von Arrays ist sortiert nach dem ASCII-Zahlenwert. So hatten wir besser zuerst umgewandelt, wenn jedes Element des Arrays sortieren Kleinbuchstaben vor dem Sortieren.


Spezielle Variablen: $ [

Die spezielle Variable$ [einen ersten Index des Arrays, in der Regel 0, wenn wir [$auf 1gesetzt,ist der erste Indexwert des Arrays 1, die zweite 2, und so weiter. Beispiele sind wie folgt:

#!/usr/bin/perl

# 定义数组
@sites = qw(google taobao w3big facebook);
print "网站: @sites\n";

# 设置数组的第一个索引为 1
$[ = 1;

print "\@sites[1]: $sites[1]\n";
print "\@sites[2]: $sites[2]\n";

Das obige Programm, das Ausgabe ist:

网站: google taobao w3big facebook
@sites[1]: google
@sites[2]: taobao

Im Allgemeinen wir[in der neuen Version von Perl nicht mit dem speziellen Variable $empfehlen, ist die Variable obsolet.


Merge-Array

Element des Arrays ist ein Komma zu trennen, haben wir auch Kommas Array verschmelzen können, wie folgt:

#!/usr/bin/perl

@numbers = (1,3,(4,5,6));

print "numbers = @numbers\n";

Das obige Programm, das Ausgabe ist:

numbers = 1 3 4 5 6

Sie können auch einbetten mehrere Arrays in einem Array, und fusionierte in den Haupt Array:

#!/usr/bin/perl

@odd = (1,3,5);
@even = (2, 4, 6);

@numbers = (@odd, @even);

print "numbers = @numbers\n";

Das obige Programm, das Ausgabe ist:

numbers = 1 3 5 2 4 6

Wählen Sie das Element aus der Liste

Eine Liste kann als ein Array verwendet werden, um einen Indexwert in der Liste angegeben verwenden, nachdem das angegebene Element kann wie folgt gelesen werden:

#!/usr/bin/perl

$var = (5,4,3,2,1)[4];

print "var 的值为 = $var\n"

Das obige Programm, das Ausgabe ist:

var 的值为 = 1

In ähnlicher Weise können wir in dem Array verwenden.. den angegebenen Bereich von Elementen zu lesen:

#!/usr/bin/perl

@list = (5,4,3,2,1)[1..3];

print "list 的值 = @list\n";

Das obige Programm, das Ausgabe ist:

list 的值 = 4 3 2