in reply to Building a dynamic array or some other method?
If what I think you are trying to do is correct, it can't be done because the fields following the username are also different, so there is no way to combine lines.
However, here's code to build a nested structure (with common parents) from the sample data you provided, and also a way to print that nested
structure in indented form.
#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11159049 use warnings; use Text::CSV; $SIG{__WARN__} = sub { die @_ }; my %database; my $csv = Text::CSV->new; my @headers = $csv->getline( *DATA )->@*; while( my $fields = $csv->getline( *DATA ) ) { my $ref = \%database; $ref = $ref->{$_} //= {} for @$fields; } #use Data::Dump 'dd'; dd \%database; print "\n\n------ Indented Form ----------\n\n", show( \%database ); sub show { my $db = shift; my $answer = ''; for my $key ( sort keys %$db ) { $answer .= join '', "$key\n", show($db->{$key}) =~ s/^(?=.)/ /gm +r; } return $answer; } __DATA__ File Server,Access Path,Current Permissions,Logon Name,Inherited From +Folders,Flags,User/Group,Classification Results,Classification Result +s by Category (Including Nested),Total Hit Count 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,FMRWX,@FOO NOW Onsite Support,\Common,This folder only, +Pathway12.My.Corp.com\@FOO NOW Onsite Support,IRS Data (1/1),PII (1), +1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,FMRWX,Administrators,\Common,This folder only,10.15.106 +.71\Administrators,IRS Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,FMRWX,Creator Owner,\Common,This folder only,Abstract\C +reator Owner,IRS Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,FMRWX,FP NOW BMG FSE NTFS Admins,\Common,This folder on +ly,Pathway12.My.Corp.com\FP NOW BMG FSE NTFS Admins,IRS Data (1/1),PI +I (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,FMRWX,ClusterSvcDIR,\Common,This folder only,Pathway12. +My.Corp.com\ClusterSvcDIR,IRS Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,FMRWX,SYSTEM,\Common,This folder only,Abstract\SYSTEM,I +RS Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,FMRWX,MiJim,<not inherited>,This folder only,"Pathway12 +.My.Corp.com\Michaels, Jim@My",IRS Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,MRWX,@FP DIR BMG,\Common,This folder only,Pathway12.My. +Corp.com\@FP DIR BMG,IRS Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,RX,&CDAdmin,\Common,This folder only,Pathway12.My.Corp. +com\&CDAdmin,IRS Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,RX,@FOO DSMS Admins,\Common,This folder only,Pathway12. +My.Corp.com\@FOO DSMS Admins,IRS Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,RX,FOO BMG FS Support,\Common,This folder only,Pathway1 +2.My.Corp.com\FOO BMG FS Support,IRS Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,RX,DPeterso,\Common,This folder only,"Pathway12.My.Corp +.com\Peterson, Dan@My",IRS Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Rene +wal FINAL.pdf,RX,FP BMG IMG Read Access,\Common,This folder only,Path +way12.My.Corp.com\FP BMG IMG Read Access,IRS Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/My-B8245.pdf,FMRWX,@FOO NOW Onsite Support,\Com +mon,This folder only,Pathway12.My.Corp.com\@FOO NOW Onsite Support,IR +S Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/My-B8245.pdf,FMRWX,Administrators,\Common,This +folder only,10.15.106.71\Administrators,IRS Data (1/1),PII (1),1 10.15.106.71,/Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subs +cription Renewal Docs/My-B8245.pdf,FMRWX,Creator Owner,\Common,This f +older only,Abstract\Creator Owner,IRS Data (1/1),PII (1),1
Outputs:
------ Indented Form ---------- 10.15.106.71 /Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subscription R +enewal Docs/Axidome Quote My Corp 2020211 KnowBe4 2-yr Renewal FINAL. +pdf FMRWX @FOO NOW Onsite Support \Common This folder only Pathway12.My.Corp.com\@FOO NOW Onsite Support IRS Data (1/1) PII (1) 1 Administrators \Common This folder only 10.15.106.71\Administrators IRS Data (1/1) PII (1) 1 ClusterSvcDIR \Common This folder only Pathway12.My.Corp.com\ClusterSvcDIR IRS Data (1/1) PII (1) 1 Creator Owner \Common This folder only Abstract\Creator Owner IRS Data (1/1) PII (1) 1 FP NOW BMG FSE NTFS Admins \Common This folder only Pathway12.My.Corp.com\FP NOW BMG FSE NTFS Admins IRS Data (1/1) PII (1) 1 MiJim <not inherited> This folder only Pathway12.My.Corp.com\Michaels, Jim@My IRS Data (1/1) PII (1) 1 SYSTEM \Common This folder only Abstract\SYSTEM IRS Data (1/1) PII (1) 1 MRWX @FP DIR BMG \Common This folder only Pathway12.My.Corp.com\@FP DIR BMG IRS Data (1/1) PII (1) 1 RX &CDAdmin \Common This folder only Pathway12.My.Corp.com\&CDAdmin IRS Data (1/1) PII (1) 1 @FOO DSMS Admins \Common This folder only Pathway12.My.Corp.com\@FOO DSMS Admins IRS Data (1/1) PII (1) 1 DPeterso \Common This folder only Pathway12.My.Corp.com\Peterson, Dan@My IRS Data (1/1) PII (1) 1 FOO BMG FS Support \Common This folder only Pathway12.My.Corp.com\FOO BMG FS Support IRS Data (1/1) PII (1) 1 FP BMG IMG Read Access \Common This folder only Pathway12.My.Corp.com\FP BMG IMG Read Access IRS Data (1/1) PII (1) 1 /Common/Awareness and Training/KnowBe4/2020- KnowBe4 Subscription R +enewal Docs/My-B8245.pdf FMRWX @FOO NOW Onsite Support \Common This folder only Pathway12.My.Corp.com\@FOO NOW Onsite Support IRS Data (1/1) PII (1) 1 Administrators \Common This folder only 10.15.106.71\Administrators IRS Data (1/1) PII (1) 1 Creator Owner \Common This folder only Abstract\Creator Owner IRS Data (1/1) PII (1) 1
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Building a dynamic array or some other method?
by CAdood (Acolyte) on Apr 23, 2024 at 20:50 UTC | |
by choroba (Cardinal) on Apr 23, 2024 at 21:09 UTC | |
by CAdood (Acolyte) on Apr 30, 2024 at 15:01 UTC |