perl格式化报表输出

perl格式化报表输出 1.字段标志符号 @---表示字段的起始 @*---多行字段 ^---用于填充字段 2.字段显示符号 <---左对齐 >---右对齐 |---居中 #---数字 .---小数点位置 默认的文件句柄是STDOUT. 3.创建模版 格式模版结构如下: format FILEHANDLE= picture line(定义形象行) value line(格式化输出文本) .(结束) write;(调用格式模版) 4.定义页眉格式 会在每一页的顶部打印出来,页面的默认长度为60行。改变$=的值就可以修改页面长度。 例如: [codesyntax lang="perl"] format STDOUT_TOP= 数据迁移校验明细-@|| $% ==================== +---------------------+-----------+-----------------------+---------+--------+ | From_table_name | From_rows | To_table_name | To_rows | Result | +---------------------+-----------+-----------------------+---------+--------+ . [/codesyntax] 注释:$%perl特殊变量,含有当前的页码。 5.定义文档格式 例如: [codesyntax lang="perl"] format STDOUT= |@<<<<<<<<<<<<<<<<<<<<| @<<<<<<<<<| @<<<<<<<<<<<<<<<<<<<<<| @<<<<<<<| @<<<<<<| $f_table, $f_num,$t_table, $t_num, $result +---------------------+-----------+-----------------------+---------+--------+ . [/codesyntax] 注释:@<定义字符长度和对齐格式,@也代表一个字符。 [codesyntax lang="perl"] #!/usr/bin/perl ################################### ### author: www.ttlsa.com ### ### QQ群:39514058 ### ### E-mail:service@ttlsa.com ### ################################### use DBI; &check_ttlsa_user; sub init{ my $driver="DBI:mysql"; my ($dbname,$host,$user,$password)=@_; return $dbh=DBI->connect("$driver:$dbname:$host;user=$user;password=$password",{PrintError => 0, RaiseError => 1}) or die "Can't connect";   } sub check_ttlsa_user{ for (0..99) { local $f_table="ttlsa_user_$_"; my $fsql="select sql_no_cache count(uid) from ttlsa_user_$_"; &init('www_ttlsa_com','localhost','root','www.ttlsa.com'); local $f_num=$dbh->selectrow_array($fsql); $dbh->disconnect(); my $sufix=sprintf "%02d",$_; local $t_table="ttlsa_user_$sufix"; my $tsql="select sql_no_cache count(uid) from ttlsa_user_$sufix"; &init('www_ttlsa_com','localhost','root','www.ttlsa.com'); local $t_num=$dbh->selectrow_array($tsql); local $result=(($f_num == $t_num) ? 'OK' : 'ERROR'); write ; } } $from="www.ttlsa.com"; $~=SUMMARY; //切换到另一个格式 write; format STDOUT_TOP= - @|| - $% ========================= +---------------------+-----------+-----------------------+---------+--------+ | From_table_name | From_rows | To_table_name | To_rows | Result | +---------------------+-----------+-----------------------+---------+--------+ . format STDOUT= |@<<<<<<<<<<<<<<<<<<<<| @<<<<<<<<<| @<<<<<<<<<<<<<<<<<<<<<| @<<<<<<<| @<<<<<<| $f_table, $f_num,$t_table, $t_num, $result +---------------------+-----------+-----------------------+---------+--------+ . format SUMMARY= | FROM: @<<<<<<<<<<<<<| $from, +============================================================================+ . [/codesyntax]

转载于:https://my.oschina.net/766/blog/211406

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值