Thread Ein Katalog-System: Titel und Untertitel
(15 answers)
Opened by
Gast
at 2004-04-18 16:40
User since 2003-08-04
14371
Artikel
ModeratorIn
Mit diesem Code:
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
#! /usr/bin/perl
use strict; use warnings; use Data::Dumper;
my $categories = [ ['Telekommunikation', ['Festnetz', ['Telefon', ['Foo', 'Bar'] ], ['Telefax', ['Foo', 'Bar'] ], ], ['Mobilnetz', ['Handy used', ['Siemens', ['C25', 'C35', 'Other'] ], ['Nokia', ['5130', '7710', '8810', 'Other'] ], ['Panasonic', ['GD90', 'GD91', 'GD92'] ] ], ['Handy unused', ['Panasonic', ['GD90', 'GD91', 'GD92'] ], ['Siemens', ['C25', 'C35', 'Other'] ], ['Nokia', ['5130', '7710', '8810', 'Other'] ] ] ] ], ];
my $hashref = getPosition($categories,"","");
print Dumper($hashref);
sub getPosition{ my ($arrayref,$title,$position) = @_; my @array = @{$arrayref}; my %hash = (); my $ref2hash = (); foreach my $index(0..(scalar(@array) - 1)){ my $type = ref($array[$index]); if($type eq 'ARRAY'){ $position .= '_'.$index; $ref2hash = getPosition($array[$index],$title,$position); %hash = (%hash,%{$ref2hash}); }# elsif unless($type){ $title = $title.'_'.$array[$index]; my $pos = $position.'_'.$index; $title =~ s/^_//; $pos =~ s/^_//; $hash{$title} = $pos; }# if }# foreach return \%hash; }# end getPosition
bekomme ich das hier raus: Quote$VAR1 = {
'Telekommunikation_Mobilnetz_Handy unused_Siemens_C25_C35_Other' => '0_1_2_1_2_1_2_1_2',
'Telekommunikation_Mobilnetz_Handy unused' => '0_1_2_1_2_0',
'Telekommunikation_Mobilnetz_Handy unused_Siemens_C25_C35' => '0_1_2_1_2_1_2_1_1',
'Telekommunikation_Mobilnetz_Handy used_Siemens' => '0_1_2_1_1_0',
'Telekommunikation_Festnetz_Telefax_Foo' => '0_1_1_2_1_0',
'Telekommunikation_Mobilnetz_Handy unused_Nokia' => '0_1_2_1_2_1_2_3_0',
'Telekommunikation' => '0_0',
'Telekommunikation_Mobilnetz_Handy used' => '0_1_2_1_0',
'Telekommunikation_Mobilnetz' => '0_1_2_0',
'Telekommunikation_Mobilnetz_Handy unused_Nokia_5130_7710_8810' => '0_1_2_1_2_1_2_3_1_2',
'Telekommunikation_Mobilnetz_Handy used_Nokia_5130_7710_8810_Other' => '0_1_2_1_1_2_1_3',
'Telekommunikation_Mobilnetz_Handy unused_Nokia_5130_7710' => '0_1_2_1_2_1_2_3_1_1',
'Telekommunikation_Festnetz_Telefax' => '0_1_1_2_0',
'Telekommunikation_Festnetz_Telefax_Foo_Bar' => '0_1_1_2_1_1',
'Telekommunikation_Mobilnetz_Handy used_Nokia' => '0_1_2_1_1_2_0',
'Telekommunikation_Mobilnetz_Handy unused_Panasonic_GD90_GD91_GD92' => '0_1_2_1_2_1_1_2',
'Telekommunikation_Mobilnetz_Handy used_Panasonic_GD90' => '0_1_2_1_1_2_3_1_0',
'Telekommunikation_Mobilnetz_Handy unused_Panasonic_GD90_GD91' => '0_1_2_1_2_1_1_1',
'Telekommunikation_Mobilnetz_Handy unused_Siemens_C25' => '0_1_2_1_2_1_2_1_0',
'Telekommunikation_Mobilnetz_Handy used_Siemens_C25_C35' => '0_1_2_1_1_1_1',
'Telekommunikation_Festnetz_Telefon_Foo_Bar' => '0_1_1_1_1',
'Telekommunikation_Mobilnetz_Handy used_Panasonic_GD90_GD91' => '0_1_2_1_1_2_3_1_1',
'Telekommunikation_Mobilnetz_Handy unused_Panasonic_GD90' => '0_1_2_1_2_1_1_0',
'Telekommunikation_Mobilnetz_Handy used_Nokia_5130_7710_8810' => '0_1_2_1_1_2_1_2',
'Telekommunikation_Mobilnetz_Handy used_Nokia_5130_7710' => '0_1_2_1_1_2_1_1',
'Telekommunikation_Mobilnetz_Handy used_Panasonic' => '0_1_2_1_1_2_3_0',
'Telekommunikation_Festnetz' => '0_1_0',
'Telekommunikation_Mobilnetz_Handy unused_Nokia_5130' => '0_1_2_1_2_1_2_3_1_0',
'Telekommunikation_Mobilnetz_Handy used_Siemens_C25_C35_Other' => '0_1_2_1_1_1_2',
'Telekommunikation_Festnetz_Telefon' => '0_1_1_0',
'Telekommunikation_Mobilnetz_Handy used_Nokia_5130' => '0_1_2_1_1_2_1_0',
'Telekommunikation_Mobilnetz_Handy used_Siemens_C25' => '0_1_2_1_1_1_0',
'Telekommunikation_Mobilnetz_Handy unused_Siemens' => '0_1_2_1_2_1_2_0',
'Telekommunikation_Mobilnetz_Handy unused_Nokia_5130_7710_8810_Other' => '0_1_2_1_2_1_2_3_1_3',
'Telekommunikation_Mobilnetz_Handy used_Panasonic_GD90_GD91_GD92' => '0_1_2_1_1_2_3_1_2',
'Telekommunikation_Festnetz_Telefon_Foo' => '0_1_1_1_0',
'Telekommunikation_Mobilnetz_Handy unused_Panasonic' => '0_1_2_1_2_1_0'
};
Die einzelnen Ebenen sind mit _ getrennt. Eine Position 3_5 sagt also aus, dass das gesuchte Teil im dritten Element der ersten Ebene und im fünften Element der 2. Ebene liegt...
View full thread Ein Katalog-System: Titel und Untertitel
|