Gentoo Archives: gentoo-user-de

From: "Hans Meier (John Doe)" <security.department@×××××.ch>
To: gentoo-user-de@l.g.o
Subject: Re: [OT] [was: [gentoo-user-de] pam zickt rum, kein login mehr möglich]
Date: Tue, 21 Mar 2006 11:32:38
Message-Id: 200603211219.15985.security.department@tele2.ch
In Reply to: Re: [OT] [was: [gentoo-user-de] pam zickt rum, kein login mehr möglich] by Cyrill Helg
1 Cyrill Helg am Montag, 20. März 2006 18.31:
2 > Am Montag, 20. März 2006 18:07 schrieb Hans Meier (John Doe):
3 > > Hallo Cyrill,
4 > >
5 > > Du hast es auf Mac oder Win laufen lassen? Offenbar gibt's Probleme mit
6 > > den Zeilenenden.
7 >
8 > Nein, wo denkst du auch hin.
9
10 Oups - ist ja eine gentoo-Liste :-)
11
12 und sorry an alle fuer das OT...
13
14 > Wahrscheinlich habe ich es nicht sauber kopiert, denn nun läufts.
15 [...]
16 > Im WWW wird's Tonnen von Scripten geben, die
17 > > dasselbe machen...
18 >
19 > Nach was soll man da so ungefähr googlen? Nicht ganz einfach...
20
21 Keine Ahnung...
22
23 Hier eine korrigierte Version, die nicht mehr hängenbleiben sollte:
24
25 [Die Optimierung von Sebastian (bei zusammengesetzten Wörtern die Teile
26 separat umstellen, damit die Umstellung lesbar bleibt) ist hier nicht
27 implementiert]
28
29 #!/usr/bin/perl
30
31 # script to reorder inner characters of words in a text
32 # STDIN -> script -> STDOUT
33 # The chosen strategy is not performant, esp. for long words
34
35 use strict;
36 use warnings;
37
38 # number of tries to get different reordered string
39 #
40 my $max_tries=3;
41
42 sub reorder {
43 my $s=shift;
44 my @ch=split //, $s;
45
46 # special case: all @ch are the same => noop
47 #
48 my %different;
49 @different{@ch}=(1 x @ch);
50 return $s if keys %different==1;
51
52 my $new;
53 my $tries=0;
54
55 do {
56 my (@n, %seen);
57 $new='';
58 my $dec=@ch;
59 while (@ch) {
60 my $i=int(rand(scalar(@ch)));
61 next if $seen{$i};
62 $seen{$i}=1;
63 push @n, $ch[$i];
64 last unless --$dec;
65 }
66 $new=join '', @n;
67 $tries++;
68 } while $tries <= $max_tries and $s eq $new;
69
70 return $new;
71 }
72
73 my $text;
74 {local $/; $text=<STDIN>;} # local scope
75
76 # reorder inner chars of words with at least 4 characters
77 #
78 $text=~s/(\b\w)(\w{2,}?)(\w\b)/$1.reorder($2).$3/egs;
79
80 print $text;
81
82 --
83 gentoo-user-de@g.o mailing list