Nagut, habs doch mal ausprobiert:
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
#!/usr/bin/perl
use strict;
use warnings;
my @ind = (1, 6);
local $" = "-";
while (<DATA>) {
print "\n$.: $_";
my @parts = split;
for my $i (@ind) {
print "$.: parts besteht aus ", scalar@parts, " Teilen: @parts\nindex=$i\n";
if ($parts[$i] eq "0") {
@parts = (@parts[0..$i], '', @parts[$i+1..$#parts]);
}
else {
while (length($parts[$i+1]) < $parts[$i]) {
$parts[$i+1] .= ' ' . splice @parts, $i+2, 1;
}
}
}
print "$.: parts besteht aus ", scalar@parts, " Teilen: @parts\n";
print "$.: '$parts[2]', '$parts[7]'\n";
}
_ _DATA_ _
Eintrag_eins 20 dies ist interessant blubb bla fasel 42 /home/dummie/meine datei ist so schoen.txt
Eintrag_zwei 0 blubb bla fasel 14 /root/mein.txt
Eintrag_drei 0 blubb bla fasel 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1: Eintrag_eins 20 dies ist interessant blubb bla fasel 42 /home/dummie/meine datei ist so schoen.txt
1: parts besteht aus 14 Teilen: Eintrag_eins-20-dies-ist-interessant-blubb-bla-fasel-42-/home/dummie/meine-datei-ist-so-schoen.txt
index=1
1: parts besteht aus 12 Teilen: Eintrag_eins-20-dies ist interessant-blubb-bla-fasel-42-/home/dummie/meine-datei-ist-so-schoen.txt
index=6
1: parts besteht aus 8 Teilen: Eintrag_eins-20-dies ist interessant-blubb-bla-fasel-42-/home/dummie/meine datei ist so schoen.txt
1: 'dies ist interessant', '/home/dummie/meine datei ist so schoen.txt'
2: Eintrag_zwei 0 blubb bla fasel 14 /root/mein.txt
2: parts besteht aus 7 Teilen: Eintrag_zwei-0-blubb-bla-fasel-14-/root/mein.txt
index=1
2: parts besteht aus 8 Teilen: Eintrag_zwei-0--blubb-bla-fasel-14-/root/mein.txt
index=6
2: parts besteht aus 8 Teilen: Eintrag_zwei-0--blubb-bla-fasel-14-/root/mein.txt
2: '', '/root/mein.txt'
3: Eintrag_drei 0 blubb bla fasel 0
3: parts besteht aus 6 Teilen: Eintrag_drei-0-blubb-bla-fasel-0
index=1
3: parts besteht aus 7 Teilen: Eintrag_drei-0--blubb-bla-fasel-0
index=6
3: parts besteht aus 8 Teilen: Eintrag_drei-0--blubb-bla-fasel-0-
3: '', ''
Achtung: $" wird nur zum besseren Ansehen umgesetzt, nicht nachmachen ;-)\n\n
<!--EDIT|Crian|1075916010-->
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