Thread Wie mache ich einen Schrifteffekt mit Perl? (5 answers)
Opened by Arnold at 2010-01-15 00:22

Dubu
 2010-01-15 01:00
#130520 #130520
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
So was in der Art?
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
use Time::HiRes qw/sleep/;
$|++;

my $str = "Hello, world!";
for my $c (split //, $str) {
    for my $z (32 .. ord $c) {
        print chr($z), "\b";
        sleep 0.05;
    }
    print $c;
};
print "\n";

Das "\b" erzeugt ein Backspace.
Mit Time::HiRes kann sleep() kürzere Zeiten als eine Sekunde schlafen.
Mit $|++ wird dafür gesorgt, dass die Zeichen sofort ausgegeben werden (und nicht erst beim Newline).

(Und warum nicht einfach for my $z ("A" .. $c) { print "$z\b"; sleep 0.05; } ?
Das "Magic Increment" wirkt nur, wenn beide Limits Buchstaben oder Zahlen sind. Wenn $c also z.B. ein Komma ist, würden einfach nur die Buchstaben von "A" bis "Z" ausgegeben.)

View full thread Wie mache ich einen Schrifteffekt mit Perl?