Thread Dateipfade hierarchisch in Hash speichern. (5 answers)
Opened by DocJones at 2010-08-28 16:26

torsten
 2010-08-28 17:40
#140999 #140999
User since
2010-08-16
45 Artikel
BenutzerIn
[Homepage] [default_avatar]
Die Regexp Engine kann sowas:

Code (perl): (dl )
1
2
3
4
5
6
7
my %x;
while(@ARGV) {
  our $x;
  local $x=\%x;
  ()=shift=~m!/+([^/]+)(?{$x=$x->{$^N}||={}})!g;
}
print Dumper \%x;


Die Schleife drumrum ist nur dafür da, damit mehrere Parameter verarbeitet werden. Aufgerufen mit
Code: (dl )
/aa///bb/cc/
und
Code: (dl )
/dd/dd/ee/ff
kommt das hier bei raus:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$VAR1 = {
          'dd' => {
                    'dd' => {
                              'ee' => {
                                        'ff' => {}
                                      }
                            }
                  },
          'aa' => {
                    'bb' => {
                              'cc' => {}
                            }
                  }
        };


Ist es das, was Du willst?
Last edited: 2010-08-28 18:10:50 +0200 (CEST)

View full thread Dateipfade hierarchisch in Hash speichern.