I think a HoH would make this problem a lot easier on the eye, so I offer a little example code, which does not print stuff out in the order you want, but hopefully gets you off in a slightly better direction:
#!/usr/perl/bin use strict; my %printer_hash; my $current_printer; while(<DATA>) { if (/^printer/) { my ($idle, $enabled); ($current_printer,$idle,$enabled) = (split)[1,3,4]; $printer_hash{$current_printer}{IDLE_STATUS} = $idle eq "idle"?0:1 +; $printer_hash{$current_printer}{ENABLED} = $enabled eq "enable +d"?"UP":"DOWN"; } elsif ( /Interface:(.+)/i ) { chomp; $printer_hash{$current_printer}{INTERFACE} = (split /\//, $_)[ +-1]; } elsif ( /Description: (.+)/i) { $printer_hash{$current_printer}{INTERFACE} = $1; } elsif ( /Connection: (.+)/i) { $printer_hash{$current_printer}{CONNECTION} = $1 eq "direct"?"loca +l":"remote"; } elsif (/Banner not required/) { $printer_hash{$current_printer}{BANNER} = "NO"; } } foreach my $printer ( keys %printer_hash ){ foreach my $item ( keys %{$printer_hash{$printer}} ) { print "$printer => $item: $printer_hash{$printer}{$item}\n"; } } __DATA__ printer llp is idle. disnabled since Wed Oct 23 15:54:08 GMT 2002. ava +ilable. Form mounted: Content types: any Printer types: unknown Description: OPENprint printer llp Connection: direct Interface: /usr/lib/lp/model/standard On fault: write to root once After fault: continue Users allowed: (all) Forms allowed: (none) Banner not required Character sets: (none) Default pitch: Default page size: Default port settings: -opost printer ps is idle. enabled since Wed Oct 23 15:54:17 GMT 2002. availa +ble. Form mounted: Content types: postscript, simple Printer types: unknown Description: local printer Connection: direct Interface: /usr/lib/lp/model/net_lj4x On fault: write to root once After fault: continue Users allowed: (all) Forms allowed: (none) Banner not required Character sets: (none) Default pitch: Default page size: Default port settings:
Note that I have not thoroughly checked it, but by printing out the items in the HoH, you can put them in any order you would like, and have a good idea what is getting printed when instead of having to re-read your code and try to remember which part of the array you are printing in what location, etc.

-enlil


In reply to Re: Re: Re: Array insertion problem by Enlil
in thread Array insertion problem by kirk123

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.