$~ = "table_header"; write; %stuinfo=( 1=>'zhang san', 2=>'li si', 3=>'wang wu', 4=>'zhao liu' ); foreach $key (keys %stuinfo){ $stuid=$key; $stuname=$stuinfo{$key}; $~ = "table_row"; write; } format table_header = --------------------- id name --------------------- . format table_row = @<<<<<< @<<<<<<<<<<<<< $stuid , $stuname .
输出:
--------------------- id name --------------------- 4 zhao li 1 zhang san 3 wang wu 2 li si
注:
1、格式定义
format formatName=
#格式定义---------------------
#格式定义-----------------------
.
ps:格式定义以点号结束
2、格式调用
$~ = "table_header";
write;
ps:如果不给$~赋值,默认是STDOUT
3、<<<<, 表示向左对齐,>>>>>>>>表示向右对齐,|||||||||||||||||表示中间对齐,一个符号代表一个变量中的字符
比如你的<符号才3,而stuid有5位,则下方显示时只显示3位stuid,这点须注意
4、@,^表示下方的变量,所在行通常与对齐符号配合,下一行要有变量,看上例$stuid,$stuname