如何在 Perl 中使用格式?
為了在 Perl 指令碼中呼叫格式宣告,我們將使用 write 關鍵字 −
write EMPLOYEE;
問題在於格式名稱通常是一個開啟的檔案處理程式的名稱,而 write 語句將把輸出傳送到這個檔案處理程式。由於我們希望將資料傳送到 STDOUT,因此我們必須將 EMPLOYEE 與 STDOUT 檔案處理程式關聯起來。然而,首先我們必須使用 select() 函式確保 STDOUT 是我們選定的檔案處理程式。
select(STDOUT);
然後,我們可以透過使用特殊變數 $~ 或 $FORMAT_NAME 將新格式名稱與 STDOUT 關聯,如下所示 −
$~ = "EMPLOYEE";
當我們現在執行 write() 時,資料將被髮送到 STDOUT。請記住:如果您要將報告寫入 STDOUT 以外的任何其他檔案處理程式,則可以使用 select() 函式選擇該檔案處理程式,其餘邏輯將保持不變。
示例
我們來看下面的例子。這裡我們硬編碼了一些值只是為了展示用法。在實際使用中,您將從檔案或資料庫中讀取值來生成實際報告,您可能需要將最終報告再次寫入檔案。
#!/usr/bin/perl
format EMPLOYEE =
===================================
@<<<<<<<<<<<<<<<<<<<<<< @<<
$name $age
@#####.##
$salary
===================================
.
select(STDOUT);
$~ = EMPLOYEE;
@n = ("Ali", "Raza", "Jaffer");
@a = (20,30, 40);
@s = (2000.00, 2500.00, 4000.000);
$i = 0;
foreach (@n) {
$name = $_;
$age = $a[$i];
$salary = $s[$i++];
write;
}輸出
執行後,這將產生以下結果 −
=================================== Ali 20 2000.00 =================================== =================================== Raza 30 2500.00 =================================== =================================== Jaffer 40 4000.00 ===================================
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP