首页 > perl 如何更新_Perl 进度条模块

perl 如何更新_Perl 进度条模块

53efa93e913cf3605be841d43033556e.png

Term::ProgressBar 模块是一个可以用于生成进度条的 Perl 模块。

安装:cpan -i Term::ProgressBar

最小脚本,展示如何最快学会使用该模块:

#!/usr/bin/env perluse strict;
use warnings;
use Term::ProgressBar 2.00;my $max = 50000000;
my $progress = Term::ProgressBar->new($max);my $next_update = 0;for (0..$max) {$next_update =  $progress->update($_)    # 更新进度条if $_ >= $next_update;
}$progress->update($max)          # 保证进度条为 100%if $max >= $next_update;

最全脚本,包含了所有功能和设置:

#!/usr/bin/env perluse strict;
use warnings;
use Term::ProgressBar 2.00;my $max = 50000000;
my $progress = Term::ProgressBar->new({name    =>   'Counts',   # 进度条名count   =>   $max,       # 总数remove  =>   0,          # 结束后进度条是否消失ETA     =>   'linear',   # 估计剩余时间, undef || linear
#   major_char => '=',       # major 进度条字符
#   minor_char => '*',       # minor 进度条字符
#   fh      =>   *STDERR,   # 输出的文件句柄,*STDERR || *STDOUT
#   term_width => 50,        # 终端宽度
#   silent  =>   0,          # 若为 1,则该模块不进行任何操作
});# $progress->target($max*2); # 重定义 count 值
# $progress->minor(0);       # 关闭 minor 进度条
# $progress->max_update_rate(0.5);   # 两次更新的最小时间间隔 (s)
# $progress->lbrack('[');    # 进度条左符号
# $progress->rbrack(']');    # 进度条右符号my $next_update = 0;for (0..$max) {if ($_ % 1000000 == 0) {$progress->message(          # 输出信息,但保证进度条在输出信息的下方sprintf "Found %dn", $_);}$next_update =  $progress->update($_)    # 更新进度条if $_ >= $next_update;
}$progress->update($max)          # 保证进度条为 100%if $max >= $next_update;

更多相关:

  • 当我们勾选了同步(Update Project)弹窗的 “Do not show this dialog in the future(以后不显示此对话框)” 的复选框☑   以后再次使用同步功能(Update Project)时 不会再出现这个弹窗(如下图),这就导致了我们无法修改Update Type和Clean workin...

  • mapper.xml文件,后台传入一个对象集合,另外如果是mysql数据库,一点在配置文件上加上&allowMultiQueries=true,这样才可以执行多条sql,以下为mysql:

  • Time类包含了一个重要的类变量deltaTime,它表示距上一次调用Update或FixedUpdate所用的时间。 因此通过它可以让游戏对象按照一个常速进行旋转,而不是依赖于它的帧频: function Update() {    tranform.Rotate(0, 5 * Time.deltaTime, 0); }  同样地移...

  • 批量更新是指在一个事务中更新大批量数据,批量删除是指在一个事务中删除大批量数据。以下程序直接通过Hibernate API批量更新CUSTOMERS表中年龄大于零的所有记录的AGE字段: 如果CUSTOMERS表中有1万条年龄大于零的记录,那么Session的find()方法会一下子加载1万个Customer对象到内存。当执行tx.c...

  • 一个数组存储了非负整型数据,数组中的第i个元素a[i],代表了可以从数组第i个 位置最多向前跳跃a[i]步;已知数组各元素的情况下,求是否可以从数组的第0个位置跳跃到数组的最后一个元素的位置,返回最少跳跃的次数以及跳跃过程的路径(以数组下标标识) 例如: nums = [2, 3, 1, 1, 4] ,可以从nums[0] = 2...