in reply to Populating Arrays of Arrays

Yikes. I don't intend to be rude at all, but your code is difficult to read and understand. I tried re-writing it, and I got this far:
#!/usr/bin/perl use warnings; use strict; use diagnostics; use Data::Dumper; my @contents = ( [qw/html head body/], [qw/font face size color/], [qw/h1 p code/]); my @ctags; foreach my $row (@contents) { #$row will now be an array reference; #print Dumper $row; # if you want to see foreach my $value (@$row) { push @ctags, "<\\$value>"; } } print Dumper(\@ctags);

To be honest, I'm not sure of your actual intentions in the scalarclose line, and the rest of the code features a lot of redundancy. What are your ultimate intentions? How close is this to doing what you want?

Hint: Using Data::Dumper is a great way to see your variables' values.


davis
It wasn't easy to juggle a pregnant wife and a troubled child, but somehow I managed to fit in eight hours of TV a day.

Replies are listed 'Best First'.
Re^2: Populating Arrays of Arrays
by dReKurCe (Scribe) on Mar 03, 2005 at 19:55 UTC
    The object was to gain understanding of AOAs and strict. No long term plan for this particular piece of code. Thanks for taking the time to hack through my obtuse dialect.I'll pick up on your code and extract ideas for efficiency.
      Ah ok. Couldn't really see the eventual purpose :)
      General notes: declare "my" variables as late as possible: if you declare them inside a block (delineated delimited by braces), the variable won't be accessible (generally speaking) outside that block:
      my $foo; if($somevalue) { my $bar = "baz"; $foo = "monkey"; }

      In this piece of code, $bar is only accessible inside the if block. $bar, on the other hand, will disappear (or "go out of scope") as soon as the compiler reaches the closing "}".

      Declaring variables as late as possible is generally considered a Good Thing (this is probably an oversimplification, but it's a good start).

      I know I've said it already, but use Data::Dumper; to inspect variables.

      If you show what eventual output you want from this code, you'll probably get a response showing you one way of getting it.


      davis
      It wasn't easy to juggle a pregnant wife and a troubled child, but somehow I managed to fit in eight hours of TV a day.