Thread Gelöschte Platte überschrieben: per Perlskript (8 answers)
Opened by Crian at 2005-01-12 17:42

Crian
 2005-01-12 17:42
#50718 #50718
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Ich hab gerade ein kleines Skript geschrieben, was mir den freien Inhalt eines Laufwerks mit einer erzeugten Datei vollschreibt. Es ist bestimmt nicht das sicherste Verfahren, aber ganz lustig, denn das Programm bedient sich dazu seines eigenen Quellcodes und setzt dessen Elemente zufällig zusammen.

Hier ist das Skript:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/perl
use strict;
use warnings;


seek DATA, 0, 0;

chomp (my @array = <DATA>);
my @data = grep {length} map {s~;$~~;$_} map {split /\s+/} @array;

print "'$_'\n" for @data;

open O, '>g:/muell.pl' or die $!;
WHILE: while (1) {
   print O ' ' x (3 + 4 * int rand 3) or last WHILE;
   for (0 .. random()) {
       unless (print O ' ', $data[rand @data]) {
           last WHILE;
       }
   }
   print O ";\n" or last WHILE;
}
close O or warn $!;
       

sub random {
   return 3 + int rand 5;
}

_ _DATA_ _


(zwischen den Unterstrichen ist natürlich kein Leerraum)

und hier ein Auszug aus der erzeugten Datei:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
    rand seek open (1) warn  (1);
   O, int /\s+/} while } +;
   #!/usr/bin/perl = (my WHILE: } O sub rand;
       DATA, or DATA, ', sub "'$_'\n";
   rand warnings { my warn;
   (0 O ', 3;
           "'$_'\n" print print @data]) ' or;
           <DATA>) {split for @data]) ' my chomp;
           my seek int 0 WHILE 3 return;
           $! close last 0 (my ..;
       use or ' 3) last;
       O open DATA, $! grep } @data {s~;$~~;$_};
       O, {length} sub @array int 3);
   ' use ', last random;
       @data {split "'$_'\n" or;
           $! or <DATA>) WHILE seek <DATA>) = O;
       { chomp @array or WHILE 3 ";\n";
   DATA, @data grep for die ';
       (my while 3 {length} for @data;
   $! (3 strict (1) last '>g:/muell.pl' { $data[rand;
       { {length} 0, DATA, + O map @data;
   = ', @data]) my @data;
       warn #!/usr/bin/perl WHILE grep WHILE { strict warn;
       map = O (print warnings my while int;
   5 "'$_'\n" warn 0, } last (my {split;
       * use warnings ' 0 + };
       } return .. <DATA>) rand 4 {s~;$~~;$_};
           "'$_'\n" O, ' O { or;
   =  } ' 0, strict;
   or map (1) (1) = + ' };
   {s~;$~~;$_} { seek close;
       + for or {length};
   5 for 5 or print;
   WHILE .. ' for $! '>g:/muell.pl' (my;
       while  WHILE: rand ';
           warn { O O,;
   warnings WHILE: $! = close (0 *;
       warn DATA, = "'$_'\n" print =;
       rand WHILE: O ',;
   sub open ' x O;
       O * open strict *;
       = last print { @data 0 rand print;
       (my use 3 map 3 rand print "'$_'\n";
       grep 3) = last;
       O O WHILE O + my warn @data;
           last for random @array seek;
   } @data O or 0 @array ' 5;


:D
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite

View full thread Gelöschte Platte überschrieben: per Perlskript