in reply to Split line with corresponding columns and values
HTHuse warnings; use strict; use Data::Dumper; my $data = '\player_0\STOMP\frags_0\0\ping_0\ 146\team_0\0\mesh_0\Male + Soldier'. '\skin_0\TOPModels.Skins.CCSM\face_0\TOPModels.Skins.Legs\n +gsecret_0\false'. '\player_1\animals\frags_1\0\ping_1\ 374\team_1\1\mesh_1\Ma +le Soldier'. '\skin_1\TOPModels.Skins.SFMe\face_1\TOPModels.Skins.SWATTe +x0'. '\ngsecret_1\false\player_2\Rigodon\frags_2\0\ping_2\ 159\t +eam_2\1'. '\mesh_2\Male Soldier\skin_2\TOPModels.Skins.SFMe\face_2\TO +PModels.Skins.SWATTex0'. '\ngsecret_2\false\queryid\64.1'; #Build a heirarchy my @list; my %tree; while ($data=~/\G\\(\w+)_(\d+)\\([^\\]+)/g) { $list[$2]->{$1}=$3; $tree{$2}->{$1}=$3; } print Dumper(\@list,\%tree); __END__ $VAR1 = [ { 'face' => 'TOPModels.Skins.Legs', 'skin' => 'TOPModels.Skins.CCSM', 'frags' => '0', 'team' => '0', 'ping' => ' 146', 'player' => 'STOMP', 'ngsecret' => 'false', 'mesh' => 'Male Soldier' }, { 'face' => 'TOPModels.Skins.SWATTex0', 'skin' => 'TOPModels.Skins.SFMe', 'frags' => '0', 'team' => '1', 'ping' => ' 374', 'player' => 'animals', 'ngsecret' => 'false', 'mesh' => 'Male Soldier' }, { 'face' => 'TOPModels.Skins.SWATTex0', 'skin' => 'TOPModels.Skins.SFMe', 'frags' => '0', 'team' => '1', 'ping' => ' 159', 'player' => 'Rigodon', 'ngsecret' => 'false', 'mesh' => 'Male Soldier' } ]; $VAR2 = { '0' => { 'face' => 'TOPModels.Skins.Legs', 'skin' => 'TOPModels.Skins.CCSM', 'frags' => '0', 'team' => '0', 'ping' => ' 146', 'player' => 'STOMP', 'ngsecret' => 'false', 'mesh' => 'Male Soldier' }, '1' => { 'face' => 'TOPModels.Skins.SWATTex0', 'skin' => 'TOPModels.Skins.SFMe', 'frags' => '0', 'team' => '1', 'ping' => ' 374', 'player' => 'animals', 'ngsecret' => 'false', 'mesh' => 'Male Soldier' }, '2' => { 'face' => 'TOPModels.Skins.SWATTex0', 'skin' => 'TOPModels.Skins.SFMe', 'frags' => '0', 'team' => '1', 'ping' => ' 159', 'player' => 'Rigodon', 'ngsecret' => 'false', 'mesh' => 'Male Soldier' } };
Yves / DeMerphq
--
Have you registered your Name Space?
|
|---|