#!/usr/bin/perl -w # # Output text slowly, simulating a physical serial terminal # use strict; use Getopt::Std; # Default character delay; set this one to a value appropriate for your # computer. my $delay = 1500; sub output { my $fh = shift; while (sysread($fh, my $c, 1)) { for (my $i = 0; $i < $delay; $i++) {} syswrite(STDOUT, $c, 1); } } sub usage { print STDERR "usage: scat [-d delay] [file ...]\n"; exit 1; } my %opts; getopts("d:", \%opts) or usage; defined $opts{'d'} and $delay = $opts{'d'}; scalar(@ARGV) or do {output(\*STDIN); exit}; foreach (@ARGV) { sysopen(FILE, $_, 0) or die "sysopen ($_): $!\n"; output(\*FILE); close(FILE); } .