Is a Perl method defined?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Is a Perl method defined?
# 1  
Old 09-30-2009
Is a Perl method defined?

In my code, I know I can write...
Code:
if ( defined &test_sub ) {
    test_sub();
} else {
    print "Subroutine doesn't exist";
}

This tests the existence of the test_sub subroutine without actually calling it.
If, though, I replace test_sub with a package method...
Code:
if ( defined &$TEST->test_sub ) {
    TEST->test_sub;
} else {
    print "Method doesn't exist";
}

I get
Code:
Not a CODE reference at (eval 22)[/opt/perl/5.8.0/lib/perl5db.pl:17] line 2, <STDIN> line 3.

Any suggestions what I'm doing wrong?
# 2  
Old 10-02-2009
Code:
my $method = 'Some::Sub';
if (defined(&$method)) {
    print("ok\n");
} else {
    print("oops\n");
}

Does that work for you?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need an automated pre-defined file pickup method

Hi Gurus, I need to develop a script which picks the files in a pre-defined order. The files from monday-friday will be named as abc_01_20130923 as monday's file and abc_02_20130924 as tuesday's..so..so forth till friday's which will be named as abc_05_20130927.It repeats over for the... (3 Replies)
Discussion started by: vikramgk9
3 Replies

2. Shell Programming and Scripting

Looping in Perl based on defined keys in Map

Hello All, I am writing the below script where it will connect to database and returns the results. #!/sw/gcm/perl510/bin/perl use SybaseC; &openConnection; &loadvalues; sub openConnection { $dbproc = new SybaseC(SYDB}, $ENV{DBDFLTUSR}, $ENV{DBDFLTPWD}); if... (2 Replies)
Discussion started by: filter
2 Replies

3. Emergency UNIX and Linux Support

Perl error: Can't call method "value" on an undefined value

Hi, I am running a perl script to automate a process and I keep running into a error can't find the "value" Can't call method "value" on an undefined value at process_file.pl line 44. file is CVS cell is ifdfdxrfmp.ksh Here is the script I have also attached it as well: ... (2 Replies)
Discussion started by: vpundit
2 Replies

4. Solaris

svc:/network/physical:default: Method "/lib/svc/method/net-physical" failed with exit status 96. [ n

After a memory upgrade all network interfaces are misconfigued. How do i resolve this issue. Below are some out puts.thanks. ifconfig: plumb: SIOCLIFADDIF: eg000g0:2: no such interface # ifconfig eg1000g0:2 plumb ifconfig: plumb: SIOCLIFADDIF: eg1000g0:2: no such interface # ifconfig... (2 Replies)
Discussion started by: andersonedouard
2 Replies

5. Shell Programming and Scripting

method bless perl

Hi, I am using perl with some EDA tool. There is an API function that can be iterate. I try to check the ref and get that it is a string. I assume that it is a hash sub aaa { my $obj = shift; $name = $obj->name; print ref $obj,"\n"; foreach my $var(keys %{$obj}) { my... (0 Replies)
Discussion started by: zivsegal
0 Replies

6. Shell Programming and Scripting

perl : question about defined()

Hi there rather than doing this if (defined($new)) { unless (defined($hostname)) { print "ERROR: If using --new, you must define a hostname\n"; exit 1; } } is there some way of doing a "notdefined" (i appreciate there is no such thing :)) if... (5 Replies)
Discussion started by: hcclnoodles
5 Replies

7. Shell Programming and Scripting

Method isSuccess not working right perl

Good morning all.... I have been learning Perl for about 2 months now and I guess I am getting there as much as I can however I am really stuck. I have a Perl script called postEvent.pl which uses a package called event.pm. PostEvent.pl depends on a meithod inside event.pm called isSuccess to... (0 Replies)
Discussion started by: LRoberts
0 Replies

8. Infrastructure Monitoring

diffrence between method call and function call in perl

Hello, I have a problem with package and name space. require "/Mehran/DSGateEngineLib/general.pl"; use strict; sub System_Status_Main_Service_Status_Intrusion_Prevention { my %idpstatus; my @result; &General_ReadHash("/var/dsg/idp/settings",\%idpstatus); #print... (4 Replies)
Discussion started by: Zaxon
4 Replies

9. Programming

Best Method for installing Perl Modules

Which is the perferred method of installing Perl modules on a Unix system? Is is CPAN or manually installing them via a tar file? Also can anyone point me in the right direction to a decent "how to" on configuring CPAN and how to perform custom installs from a tar? thanks:b: (2 Replies)
Discussion started by: metallica1973
2 Replies

10. Shell Programming and Scripting

Perl, FilePropStore Method

Guys, anyone familiar with this FileProp Store Method.. Im having Compilation Error whenever a value is stored into the tied hash. Run time error sub STORE { my ($self, $key, $value) = @_; my $name = $self ->{name}; unless ($PROPS{$key} and -w $name){ croak "Can't... (1 Reply)
Discussion started by: killerserv
1 Replies
Login or Register to Ask a Question