aboutsummaryrefslogtreecommitdiffstats
path: root/unix/cat-lps.pl
diff options
context:
space:
mode:
Diffstat (limited to 'unix/cat-lps.pl')
-rwxr-xr-xunix/cat-lps.pl21
1 files changed, 21 insertions, 0 deletions
diff --git a/unix/cat-lps.pl b/unix/cat-lps.pl
new file mode 100755
index 0000000..c83f037
--- /dev/null
+++ b/unix/cat-lps.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/env perl
+#
+# Cat file to terminal at particular speed of lines per second
+# https://superuser.com/a/526249
+#
+# Usage: cat-lps.pl [lps] [file]...
+#
+
+use warnings;
+use strict;
+use Time::HiRes qw|time|;
+
+my $start=time;
+my $lps=300;
+
+$lps=shift @ARGV if @ARGV && $ARGV[0]=~/^(\d+)$/;
+my $sleepPerLine=1/$lps;
+
+print &&
+ select undef,undef,undef,($start + $sleepPerLine*$. - Time::HiRes::time)
+ while <>