David Buddrige wrote:
>
> Hi all,
Hello,
> I am reading through a collegue's perl script. In it he has the
> following lines:
>
> sub SomeSubName
> {
> my ($vara, $varb, $varc, @items) = @_;
> my ($itemtype, %symbol);
> ...
> }
>
> The first line I understand; here you are getting the parameters to the
> subroutine (which are stored in @_), and putting them into particular
> variable names - $vara, $varb, and so on.
>
> The second line however, I am not clear what it is doing.
>
> It seems to be creating an in-line list, but firstly, that list is not
> assigned to anything, and secondly he is storing a hash into the list
> (presumably it must be a reference to a hash, since you cannot actually
> store a hash into a data structure such as a list or an array without
> using refernces...
>
> Could anyone see what possible value could be had in creating the list:
>
> my ($itemtype, %symbol);
>
> Is this assigned to some default name?
perldoc -f my
my EXPR
my EXPR : ATTRIBUTES
A `my' declares the listed variables to be local
(lexically) to the enclosing block, file, or
`eval'. If more than one value is listed, the
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
list must be placed in parentheses. See the
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Private Variables via my() entry in the perlsub
manpage for details.
That code could also be written as:
sub SomeSubName
{
my ($vara, $varb, $varc, @items, $itemtype, %symbol) = @_;
:-)
John
--
use Perl;
program
fulfillment
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]