http://www.perlmonks.org?node_id=513571

jesuashok has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks,

I know that In perl we can store any types of References using a single Scalar Variable;

like :-

$scale_ref = \$scalar;

$array_ref = \@array;

$hash_ref = \%hash'

I am devloping Modules which is going act as a Interface between many modules.

The requirement is as follows :-

* I want to make a Scalar Variable which has to hold only Array Reference.

For example :-

sub collect_all_users_from_tables { $table_list = @_; }
In the above example I want to make the $table_list to hold only Array reference.

Because as module developer I may not aware who is going to use my module. But I need to take care those

things in my module.

In othere Languages like C or C++ character pointer contain only character pointer.

I want the similaar things to be done in Perl also.

I know that this can be done in perl

But I am not aware of this. I hope monks will help me.

I need some efficient way of doing this.

This can be done by doing some explicit like

ref(@_) ne ARRAY' { + Carp 'Only Array can be processed'; }
Without explicit check is it possible to bring that future ?

"Keep pouring your ideas"