Le meilleur didacticiel Perl tableau en 2024, dans ce didacticiel, vous pouvez apprendre Création d'un tableau,éléments du tableau d'accès,le numéro de série Array,Taille de tableau,Ajout et suppression d'éléments du tableau,tableau de coupe,Remplacer les éléments du tableau,Convertit chaîne en un tableau,La matrice est convertie en une chaîne,Tri d'un tableau,Variables spéciales: $ [,Fusionner tableau,Sélectionnez l'élément dans la liste,
Un tableau est une valeur scalaire stockée liste non ordonnée de variables.
@ Le début d'un tableau de variables. éléments de réseau d'accès en utilisant lavariable $ + nom + [index] pour lire le format, les exemples sont les suivants:
#!/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";
Le programme utilise le symbole $ \ pour échapper, alors il est sorti.
Le programme ci-dessus, le résultat est:
$hits[0] = 25 $hits[1] = 30 $hits[2] = 40 $names[0] = google $names[1] = w3big $names[2] = taobao
variable tableau avec le début@ symbole, l'élément est entre parenthèses peuvent également être commencer qwdéfinissant des tableaux.
@array = (1, 2, 'Hello'); @array = qw/这是 一个 数组/;
Le deuxième réseau en utilisant leqw // opérateur, qui retourne une liste de chaînes, les éléments du tableau séparés par des espaces.Bien sûr, vous pouvez également utiliser plusieurs lignes pour définir le tableau:
@days = qw/google taobao fr. w3big/;
Vous pouvez également attribuer un index au tableau, comme suit:
$array[0] = 'Monday'; fr. $array[6] = 'Sunday';
éléments de réseau d'accès en utilisant lavariable $ + nom + [index] pour lire le format, les exemples sont les suivants:
@sites = qw/google taobao w3big/; print "$sites[0]\n"; print "$sites[1]\n"; print "$sites[2]\n"; print "$sites[-1]\n"; # 负数,反向读取
Le programme ci-dessus, le résultat est:
google taobao w3big w3big
L'index du tableau commence à partir de 0, qui est de 0 pour le premier élément, le second élément est égal à 1, et ainsi de suite.
lecture négative de l'inverse, -1 est le premier élément, -2 est le deuxième élément
Perl fournit une séquence peut être sous la forme d'une matrice de sortie dans le format dela valeur finale de la valeur de départ + frDes exemples sont les suivants:
#!/usr/bin/perl @var_10 = (1fr10); @var_20 = (10fr20); @var_abc = (afrz); 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
Le contexte est déterminé par la taille de la matrice scalaire de la matrice. :
@array = (1,2,3); print "数组大小: ",标量 @array,"\n";
Renvoie la longueur du tableau est un tableau de taille physique, plutôt que le nombre d'éléments, nous pouvons voir les exemples suivants:
#!/uer/bin/perl @array = (1,2,3); $array[50] = 4; $size = @array; $max_index = $#array; print "数组大小: $size\n"; print "最大索引: $max_index\n";
Le programme ci-dessus, le résultat est:
数组大小: 51 最大索引: 50
Comme on peut le voir à partir de la sortie des résultats, les éléments du tableau ne sont que quatre, mais la taille de la matrice 51.
Perl fournit un certain nombre de fonctions utiles pour ajouter et supprimer des éléments de tableau.
Si aucune expérience de programmation avant que vous pouvez demander quelle est la fonction, en fait, avant que nousimprimons l' utilisation, qui est une fonction de sortie.
Le tableau suivant répertorie les fonctions courantes de manipulation de tableau:
Non. | Type et description |
---|---|
1 | pousser @TABLEAU, LISTE La liste des valeurs à la fin du tableau |
2 | pop @TABLEAU Pop le dernier tableau de valeurs et le renvoie |
3 | décaler @TABLEAU Tableau pop la première valeur et la retourne. La valeur de l'indice de la matrice sont séquentiellement moins un. |
4 | unshift @TABLEAU, LISTE La liste en face d'un tableau et renvoie le nombre d'éléments dans le nouveau tableau. |
#!/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";
Le programme ci-dessus, le résultat est:
Nous pouvons couper un tableau, et retourne un nouveau tableau après la coupe:
#!/usr/bin/perl @sites = qw/google taobao w3big weibo qq facebook 网易/; @sites2 = @sites[3,4,5]; print "@sites2\n";
Le programme ci-dessus, le résultat est:
weibo qq facebook
Vous devez spécifier un index valide de la valeur de l'indice de tableau peut être négatif après un nombre positif, chaque valeur d'index par des virgules.
Si l'indice est continue, vous pouvez utiliserfr pour représenter la gamme spécifiée:
#!/usr/bin/perl @sites = qw/google taobao w3big weibo qq facebook 网易/; @sites2 = @sites[3fr5]; print "@sites2\n";
Le programme ci-dessus, le résultat est:
weibo qq facebook
éléments du tableau Perl sont utilisés de manière interchangeable dans la syntaxe de la fonction splice () est le suivant:
splice @ARRAY, OFFSET [ , LENGTH [ , LIST ] ]
Description Paramètre:
Les exemples suivants commencent à remplacer le sixième élément du tableau de cinq éléments:
#!/usr/bin/perl @nums = (1fr20); print "替换前 - @nums\n"; splice(@nums, 5, 5, 21fr25); print "替换后 - @nums\n";
Le programme ci-dessus, le résultat est:
替换前 - 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
Perl vous permet de convertir un tableau de chaînes en utilisant la syntaxe de la fonction split () est la suivante:
split [ PATTERN [ , EXPR [ , LIMIT ] ] ]
Description Paramètre:
#!/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
Le programme ci-dessus, le résultat est:
o com weibo
Perl dans le tableau à une chaîne en utilisant la syntaxe de la fonction join () est la suivante:
join EXPR, LIST
Description Paramètre:
#!/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";
Le programme ci-dessus, le résultat est:
www-w3big-com google,taobao,w3big,weibo
Perl tableaux de tri en utilisant sort () syntaxe de la fonction est la suivante:
sort [ SUBROUTINE ] LIST
Description Paramètre:
#!/usr/bin/perl # 定义数组 @sites = qw(google taobao w3big facebook); print "排序前: @sites\n"; # 对数组进行排序 @sites = sort(@sites); print "排序前: @sites\n";
Le programme ci-dessus, le résultat est:
排序前: google taobao w3big facebook 排序前: facebook google w3big taobao
Note: Tri d'un tableau est trié en fonction de la valeur numérique ASCII. Donc, nous ferions mieux d'abord converti lorsque chaque élément du tableau de tri en minuscules avant le tri.
La variable spéciale$ [un premier indice de la matrice, généralement 0, si nous $ [misà 1, la première valeur de l' indice de la matrice est 1, le second est 2, et ainsi de suite. Des exemples sont les suivants:
#!/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";
Le programme ci-dessus, le résultat est:
网站: google taobao w3big facebook @sites[1]: google @sites[2]: taobao
En général , nous ne recommandons pas d' utiliser la variable spéciale$ [dans la nouvelle version de Perl, la variable est obsolète.
Élément du tableau est une virgule pour séparer, nous pouvons aussi utiliser des virgules pour fusionner ensemble, comme suit:
#!/usr/bin/perl @numbers = (1,3,(4,5,6)); print "numbers = @numbers\n";
Le programme ci-dessus, le résultat est:
numbers = 1 3 4 5 6
Vous pouvez également intégrer plusieurs tableaux dans un tableau, et a fusionné dans le tableau principal:
#!/usr/bin/perl @odd = (1,3,5); @even = (2, 4, 6); @numbers = (@odd, @even); print "numbers = @numbers\n";
Le programme ci-dessus, le résultat est:
numbers = 1 3 5 2 4 6
Une liste peut être utilisée comme un tableau en utilisant une valeur d'index spécifiée dans la liste après l'élément spécifié peut se lire comme suit:
#!/usr/bin/perl $var = (5,4,3,2,1)[4]; print "var 的值为 = $var\n"
Le programme ci-dessus, le résultat est:
var 的值为 = 1
De même, nous pouvons utiliser dans le tableaufr lire la plage spécifiée d'éléments:
#!/usr/bin/perl @list = (5,4,3,2,1)[1fr3]; print "list 的值 = @list\n";
Le programme ci-dessus, le résultat est:
list 的值 = 4 3 2