Najlepszy samouczek Perl sformatowane wyjście W 2024 r. W tym samouczku możesz dowiedzieć się Format zmienna,Wyjście do innego pliku,
Perl jest bardzo potężnym językiem przetwarzania danych tekstowych.
Perl może być używana do definiowania formatu szablonu, a następnie użyć wyjścia zapisu danych przez określony szablon.
Format Perl zdefiniowana składnia jest następująca:
format FormatName = fieldline value_one, value_two, value_three fieldline value_one, value_two .
Parametry analityczne:
Poniżej znajduje się prosty przypadek jest sformatowany:
#!/usr/bin/perl $text = "google w3big taobao"; format STDOUT = first: ^<<<<< # 左边对齐,字符长度为6 $text second: ^<<<<< # 左边对齐,字符长度为6 $text third: ^<<<< # 左边对齐,字符长度为5,taobao 最后一个 o 被截断 $text . write
Wykonać wyjście Powyższy przykład to:
first: google second: w3big third: taoba
Zakres formatach, jak następuje:
format | zakres Znaczenie |
---|---|
@ <<< | Lewa wyjście |
@ >>> | Wyjście z wyrównaniem do prawej |
@ ||| | Wyrównywanie wyjścia |
@ ##. ## | Stała liczba precyzji |
@ * | Wiele wierszy tekstu |
Pierwszy znak każdego wiersza jest zakres charakterze wypełniacza przy zastosowaniu znaku @, a nie formatowanie tekstu.
W powyższej tabeli, oprócz multi-line @ *, zakres szerokokątny są równe określonej liczby znaków w postaci @, w tym na przykład:
@###.##
Reprezentuje ona szerokie siedem znaków, po czterech przed kropką dziesiętną, przecinek dwa.
Przykłady są następujące:
#!/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; }
Powyższy przykład wyjście jest:
=================================== Ali 20 2000.00 =================================== =================================== w3big 30 2500.00 =================================== =================================== Jaffer 40 4000.00 ===================================
Poniżej znajduje się prosty w obsłudze $ instancji - format:
#!/usr/bin/perl $~ = "MYFORMAT"; # 指定缺省文件变量下所使用的格式 write; # 输出 $~ 所指定的格式 format MYFORMAT = # 定义格式 MYFORMAT ================================= Text # 本教程 ================================= . write;
Wykonać wyjście Powyższy przykład to:
================================= Text # 本教程 ================================= ================================= Text # 本教程 =================================
Jeśli nie określić $ ~ pod przypadku format zwany STDOUT:
#!/usr/bin/perl write; # 不指定$~的情况下会寻找名为STDOUT的格式 format STDOUT = ~用~号指定的文字不会被输出 ---------------- STDOUT格式 ---------------- .
Wykonać wyjście Powyższy przykład to:
---------------- STDOUT格式 ----------------
W poniższym przykładzie dodamy informacje nagłówka raportu wykazanie $ ^ $ FORMAT_TOP_NAME lub zmienne:
#!/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; }
Powyższy przykład wyjście jest:
=================================== Name Age =================================== =================================== Ali 20 2000.00 =================================== =================================== w3big 30 2500.00 =================================== =================================== Jaffer 40 4000.00 ===================================
Możemy również użyć $% $ FORMAT_PAGE_NUMBER lub zestaw paginacji zgłoszenia:
#!/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; }
Powyższy przykład wyjście jest:
=================================== Name Age Page 1 =================================== =================================== Ali 20 2000.00 =================================== =================================== w3big 30 2500.00 =================================== =================================== Jaffer 40 4000.00 ===================================
Domyślnie funkcja będzie zapisywać wyniki do standardowego pliku wyjściowego STDOUT, możemy również zrobić to wysyła wynik do innego pliku. Najłatwiej jest złożyć zmienną jako parametr do pisania, takich jak:
write(MYFILE);
Wpisz powyższy kod, aby użyć wyjścia domyślny format wydruku do pliku o nazwie MOJPLIK MOJPLIK się.
Ale to nie może być użyty do zmiany formatu wydruku używane przez zmienną $ ~. Zmienne systemowe $ ~ zmienna działa tylko dla domyślnego pliku, możemy zmienić domyślny plik zmiennej $ ~ zmiany, a następnie zadzwonić do zapisu.
#!/usr/bin/perl if (open(MYFILE, ">tmp")) { $~ = "MYFORMAT"; write MYFILE; # 含文件变量的输出,此时会打印与变量同名的格式,即MYFILE。$~里指定的值被忽略。 format MYFILE = # 与文件变量同名 ================================= 输入到文件中 ================================= . close MYFILE; }
Po udanej realizacji, możemy przeglądać zawartość pliku tmp, co następuje:
$ cat tmp ================================= 输入到文件中 =================================
Możemy użyć select aby zmienić domyślny plik zmienną, która zwraca bieżącą zmiennej wewnętrznej wskazuje plik domyślny, dzięki czemu możemy stworzyć podprogram, w zależności od ich własnej produkcji pomysły, bez wpływu na resztę programu.
#!/usr/bin/perl if (open(MYFILE, ">>tmp")) { select (MYFILE); # 使得默认文件变量的打印输出到MYFILE中 $~ = "OTHER"; write; # 默认文件变量,打印到select指定的文件中,必使用$~指定的格式 OTHER format OTHER = ================================= 使用定义的格式输入到文件中 ================================= . close MYFILE; }
Po udanej realizacji, możemy przeglądać zawartość pliku tmp, co następuje:
$ cat tmp ================================= 输入到文件中 ================================= ================================= 使用定义的格式输入到文件中 =================================