gramática
format FORMATNAME =
fieldline
value1, value2, value3
fieldline
value1, value2, value3
.
=pod
FORMATNAME :格式化模板名称
fieldline :一个格式行,用来定义一个输出行的格式,以@或^开头
value1.. : 数据行,向前面一个格式行插入变量value
. :结束符号
sintaxis de línea de formato
- O que comienzan con @ ^
- @, Abierto ^ <,>, | determina la longitud del campo de longitud, si la variable excede se truncará la longitud definida
- <,>, | También representan alineado a la izquierda, alineado a la derecha, centrada
- ^ Para múltiples líneas de llenado de texto
formato de rango
@ ### ### representa un número fijo de precisión, un total de ocho caracteres Zifu de ancho, cuatro antes del punto decimal, la parte posterior 3
Formato de la variable
$ ~ ($ FORMAT_NAME): el nombre del formato actual
el formato de la cabecera actual: $ ^ ($ FORMAT_TOP_NAME)
$ = ($ FORMAT_LINES_PER_PAGE): el número de líneas por página
$ | ($ FORMAT_AUTOFLUSH): ya sea para eliminar automáticamente la memoria búfer de salida
$% ($ FORMAT_PAGE_NUMBER): Establecer página
El formato por defecto
El formato por defecto es STDOUT, cambie el identificador de archivo de salida con selecto, recordar y escribir con el uso.
ejemplo
#!/usr/bin/perl -w
format STUDENT =
==========================
@<<<<<<<<<<<<< @<<<<<<<<<<
$name, $score
==========================
.
format STUDENT_TOP =
==========================
Name Score
==========================
.
@stuName = ('hunk', 'jack', 'lucy');
@stuScore = (80, 70 , 60);
if(open(STUDENT, ">tmp")){
#select(HANDLE);
$~ = STUDENT; #指定格式名字
$^ = STUDENT_TOP;#指定表頭格式
$i = 0;
foreach (@stuName){
$name = $_;
$score = $stuScore[$i++];
write STUDENT;
}
close STUDENT;
}
resultado:
==========================
Name Score
==========================
==========================
hunk 80
==========================
==========================
jack 70
==========================
==========================
lucy 60
==========================