加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl格式化报表输出

发布时间:2020-12-16 00:00:09 所属栏目:大数据 来源:网络整理
导读:perl格式化报表输出 1.字段标志符号 @---表示字段的起始 @*---多行字段 ^---用于填充字段 2.字段显示符号 ---左对齐 ---右对齐 |---居中 #---数字 .---小数点位置 默认的文件句柄是STDOUT. 3.创建模版 格式模版结构如下: format FILEHANDLE= picture line(
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','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,$result +---------------------+-----------+-----------------------+---------+--------+ . format SUMMARY= | FROM: @<<<<<<<<<<<<<| $from,+============================================================================+ . [/codesyntax]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读