[EMAIL PROTECTED] (Tarak Parekh) writes:

> package A
> 
> use strict;
> 
> my @arr;
> 
> sub new
> {
>     my $classname = shift;
>     my $self = {
>                  'cfg_file' => undef,
>                  @_,
>                };
> 
>     # Mark it of the right type
>     bless ($self, $classname);
> 
>     # Initialize the arrays
>     my $i = 0;
>     for ($i = 0; $i < 4; $i += 1) {
>        $arr[$i] = $i;
>     }
> 
>     return $self;
> }
> 
> sub num_get
> {
>     my $self = shift;
>     my ($type) = @_;
> 
>     eval {
>         no strict ;
>         return $#type;
>     }
> }
> 
> --- Client code
> 
> use A;
> 
> my $try = A -> new ("something");
> 
> print $try -> num_get ('arr');

What are you trying to do here?  Your answer will help
refine the help you get.

Lacking that answer, I'll take a stab in the dark.

Are you trying to find the last index (or size?) of the
package gloabl @arr array?  If so, you're seemingly busting
encapsulation by letting (requiring) your client know the
name of an internal member. Keep it balck-box like this

sub size_of_internal_encapsulated_member {
    return scalar @arr;
}

Because this is a class method, it's not even necessary to
pull off the $self parameter.  The purpose of the method is
just to encapsulate the implementation.

-- 
Michael R. Wolf
    All mammals learn by playing!
        [EMAIL PROTECTED]

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

Reply via email to