39 lines
747 B
Perl
39 lines
747 B
Perl
|
|
#!/usr/bin/perl -W
|
||
|
|
|
||
|
|
$wort="Michael";
|
||
|
|
$outword=$wort; #only to have same length
|
||
|
|
$zu=1;
|
||
|
|
|
||
|
|
ForS($wort,0);
|
||
|
|
print ("\n");
|
||
|
|
|
||
|
|
sub ForS{
|
||
|
|
my $toUseWord = shift;
|
||
|
|
my $Ebene = shift;
|
||
|
|
my $i1;
|
||
|
|
|
||
|
|
if ($Ebene == length($wort)) {
|
||
|
|
print( $outword . "|");
|
||
|
|
if (($zu%10) == 0) { print("\n"); }
|
||
|
|
$zu++;
|
||
|
|
}
|
||
|
|
if ($Ebene < length($wort)) {
|
||
|
|
for ($i1=0;$i1<length($toUseWord);$i1++) {
|
||
|
|
$outword = replacepos($outword,$Ebene,1,substr($toUseWord,$i1,1));
|
||
|
|
ForS(replacepos($toUseWord, $i1 , 1, ""), $Ebene + 1);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
sub replacepos{
|
||
|
|
my $in = shift;
|
||
|
|
my $spos = shift;
|
||
|
|
my $len = shift;
|
||
|
|
my $rep = shift;
|
||
|
|
my $part1 =substr($in,0,$spos);
|
||
|
|
my $part2 =substr($in,$spos+$len,length($in) - ($spos+$len));
|
||
|
|
return $part1 . $rep . $part2;
|
||
|
|
}
|
||
|
|
|
||
|
|
# vim: ts=2 hlsearch si
|