Thread Wie mache ich einen Schrifteffekt mit Perl?
(5 answers)
Opened by Arnold at 2010-01-15 00:22
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.) |