Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: array or array ref as variable

by GrandFather (Sage)
on Jun 28, 2013 at 11:57 UTC ( #1041234=note: print w/replies, xml ) Need Help??

in reply to array or array ref as variable

Having looked over your conversation with HelenCr, I think a slight step back is in order to focus on the key issue. The following code mocks up a solution to the issue of passing in a "module reference" to a "collection" sub to get some work done:

#!/usr/bin/env perl use warnings; use strict; package FW; sub extract { return "It's a FW"; } package VRF; sub extract { return "It's a VRF"; } package main; my @fw = collect('fw'); my @vrf = collect('vrf'); print "$_\n" for @fw, @vrf; sub collect { my ($type) = @_; my $module = uc $type; return $module->extract(); }


It's a FW It's a VRF

The key is that if you want to call a function in a module you can use the syntax $modulename->function() to make the call.

True laziness is hard work

Replies are listed 'Best First'.
Re^2: array or array ref as variable
by HelenCr (Monk) on Jun 28, 2013 at 19:48 UTC
    Thank you, GrandFather.

    So, in other words, are you saying that this should work?:

    my @arr_methods = ([ \@fw, 'NT::FW', 'FW'], [\@vrf, 'NT::VRF', 'VRF'], + [\@vlan +, 'NT::VLAN', 'VLAN'], [ \@portchannel, 'NT::PORTCHANNEL', 'PORTCHANN +EL'] ); foreach (@arr_methods) { @{$_->[0]} = $_->[1]->extract( &slurpFile($CFG{$CFG{$_->[2]}} +), %CFG) +; }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1041234]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2018-04-22 11:39 GMT
Find Nodes?
    Voting Booth?