Le meilleur didacticiel Perl sortie formatée en 2024, dans ce didacticiel, vous pouvez apprendre Format variable,Sortie vers un autre fichier,
Perl est une donnée très puissant langage de traitement de texte.
Perl peut être utilisé pour définir un format de modèle, puis utiliser la sortie de données d'écriture par le modèle spécifié.
syntaxe définie format perl est la suivante:
format FormatName = fieldline value_one, value_two, value_three fieldline value_one, value_two .
Paramètres analytiques:
Ce qui suit est une instance simple est formaté:
#!/usr/bin/perl $text = "google w3big taobao"; format STDOUT = first: ^<<<<< # 左边对齐,字符长度为6 $text second: ^<<<<< # 左边对齐,字符长度为6 $text third: ^<<<< # 左边对齐,字符长度为5,taobao 最后一个 o 被截断 $text . write
Effectuer l'exemple ci-dessus est sortie:
first: google second: w3big third: taoba
Gamme de formats, comme suit:
format | Range Signification |
---|---|
@ <<< | sortie gauche |
@ >>> | sortie justifié à droite |
@ ||| | Aligner la sortie |
@ ## ##. | Numéro de précision fixe |
@ * | Plusieurs lignes de texte |
Le premier caractère de chaque ligne est une gamme de caractère de remplissage lorsque vous utilisez le caractère @, pas la mise en forme de texte.
Dans le tableau ci-dessus, en plus de multi-ligne @ * plage, grand champ est égal à un nombre spécifié de caractères dans le caractère @, y compris, par exemple:
@###.##
Il représente sept caractères de large, au bout de quatre avant la virgule, le point virgule deux.
Des exemples sont les suivants:
#!/usr/bin/perl format EMPLOYEE = =================================== @<<<<<<<<<<<<<<<<<<<<<< @<< $name $age @#####.## $salary =================================== . select(STDOUT); $~ = EMPLOYEE; @n = ("Ali", "w3big", "Jaffer"); @a = (20,30, 40); @s = (2000.00, 2500.00, 4000.000); $i = 0; foreach (@n){ $name = $_; $age = $a[$i]; $salary = $s[$i++]; write; }
L'exemple ci-dessus sortie est:
=================================== Ali 20 2000.00 =================================== =================================== w3big 30 2500.00 =================================== =================================== Jaffer 40 4000.00 ===================================
Ce qui suit est un simple à utiliser $ instance - Format:
#!/usr/bin/perl $~ = "MYFORMAT"; # 指定缺省文件变量下所使用的格式 write; # 输出 $~ 所指定的格式 format MYFORMAT = # 定义格式 MYFORMAT ================================= Text # 本教程 ================================= . write;
Effectuer l'exemple ci-dessus est sortie:
================================= Text # 本教程 ================================= ================================= Text # 本教程 =================================
Si vous ne spécifiez pas le $ ~ dans le cas, le format de sortie appelé STDOUT:
#!/usr/bin/perl write; # 不指定$~的情况下会寻找名为STDOUT的格式 format STDOUT = ~用~号指定的文字不会被输出 ---------------- STDOUT格式 ---------------- .
Effectuer l'exemple ci-dessus est sortie:
---------------- STDOUT格式 ----------------
L'exemple suivant, nous ajoutons un rapport d'information d'en-tête de démontrer les FORMAT_TOP_NAME $ ^ ou variables $:
#!/usr/bin/perl format EMPLOYEE = =================================== @<<<<<<<<<<<<<<<<<<<<<< @<< $name $age @#####.## $salary =================================== . format EMPLOYEE_TOP = =================================== Name Age =================================== . select(STDOUT); $~ = EMPLOYEE; $^ = EMPLOYEE_TOP; @n = ("Ali", "w3big", "Jaffer"); @a = (20,30, 40); @s = (2000.00, 2500.00, 4000.000); $i = 0; foreach (@n){ $name = $_; $age = $a[$i]; $salary = $s[$i++]; write; }
L'exemple ci-dessus sortie est:
=================================== Name Age =================================== =================================== Ali 20 2000.00 =================================== =================================== w3big 30 2500.00 =================================== =================================== Jaffer 40 4000.00 ===================================
Nous pouvons également utiliser le $% ou FORMAT_PAGE_NUMBER $ set pagination pour le rapport:
#!/usr/bin/perl format EMPLOYEE = =================================== @<<<<<<<<<<<<<<<<<<<<<< @<< $name $age @#####.## $salary =================================== . # 添加分页 $% format EMPLOYEE_TOP = =================================== Name Age Page @< $% =================================== . select(STDOUT); $~ = EMPLOYEE; $^ = EMPLOYEE_TOP; @n = ("Ali", "w3big", "Jaffer"); @a = (20,30, 40); @s = (2000.00, 2500.00, 4000.000); $i = 0; foreach (@n){ $name = $_; $age = $a[$i]; $salary = $s[$i++]; write; }
L'exemple ci-dessus sortie est:
=================================== Name Age Page 1 =================================== =================================== Ali 20 2000.00 =================================== =================================== w3big 30 2500.00 =================================== =================================== Jaffer 40 4000.00 ===================================
Par défaut, la fonction va écrire les résultats au STDOUT du fichier de sortie standard, nous pouvons également rendre le résultat dans un autre fichier. Le plus simple est de déposer variable comme un paramètre à écrire, par exemple:
write(MYFILE);
Ecrire le code ci-dessus pour utiliser la sortie de format d'impression par défaut dans un fichier appelé MYFILE MYFILE dans.
Mais cela ne peut pas être utilisé pour modifier le format d'impression utilisé par variable $ ~. Variables système variable $ ~ ne fonctionne que pour le fichier par défaut, nous pouvons changer la variable $ fichier par défaut ~ modifications, puis appeler écriture.
#!/usr/bin/perl if (open(MYFILE, ">tmp")) { $~ = "MYFORMAT"; write MYFILE; # 含文件变量的输出,此时会打印与变量同名的格式,即MYFILE。$~里指定的值被忽略。 format MYFILE = # 与文件变量同名 ================================= 输入到文件中 ================================= . close MYFILE; }
Après la mise en œuvre réussie, nous pouvons voir le contenu du fichier tmp, comme suit:
$ cat tmp ================================= 输入到文件中 =================================
Nous pouvons utiliser la sélection pour changer la variable de fichier par défaut, qui retourne la variable interne actuelle indique que le fichier par défaut, de sorte que nous pouvons créer un sous-programme, en fonction de leur propre production d'idées, sans affecter le reste du programme.
#!/usr/bin/perl if (open(MYFILE, ">>tmp")) { select (MYFILE); # 使得默认文件变量的打印输出到MYFILE中 $~ = "OTHER"; write; # 默认文件变量,打印到select指定的文件中,必使用$~指定的格式 OTHER format OTHER = ================================= 使用定义的格式输入到文件中 ================================= . close MYFILE; }
Après la mise en œuvre réussie, nous pouvons voir le contenu du fichier tmp, comme suit:
$ cat tmp ================================= 输入到文件中 ================================= ================================= 使用定义的格式输入到文件中 =================================