Kevin Pfeiffer wrote:

> So in plain(er) English that means: if the name begins with an "*", the
> output type will match that of the referenced variable"?

Too complicated, and too "cute" to be practical.  This would be much simpler if
all three of you were taking advice that is often given here:  Use references
for any complex data structures, and for any that you may need to do "heavy
lifting" with.  I hardly ever use those silly @ and % symbols when declaring my
variables.  I know they will just bind me up later.

my $array_ref = [];
my $hashref = {};

are much more flexible.  If you do use a statically-declared array or hash,
take a reference to it before offering it to any function as a parameter.  Perl
flattens hashes to simple lists, and they lose their magic, when offered
directly in the parameter list.  A reference is preserved whole, since the
parameter-passing process need not change it in any way.  Then the called
function can use it to access the original, intact structure:

Greetings! C:\>perl -w
use Data::Dumper;
my %entry;
    $entry{"genre"} = '$genre';
    $entry{"artist"} = '$artist';
    $entry{"album"} = '$album';
    $entry{"disc"} = '$disc';
    $entry{"file"} = '$file';
    $entry{"fullpath"} = '$fullpath';
print Dumper(\%entry);
^Z
$VAR1 = {
          'album' => '$album',
          'artist' => '$artist',
          'fullpath' => '$fullpath',
          'file' => '$file',
          'disc' => '$disc',
          'genre' => '$genre'
        };

Greetings! C:\>

Joseph


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to