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]