Bilashi Sahu wrote:
> Hi,
> 
> I wrote following sub routine. But got error like this
> "Use of uninitialized value in pattern match (m//) at checkYadInsertFamily.pm 
> line 71, <GEN4> line 6."

1) Always supply a complete standalone test case that reproduces your
problem.
2) Always have a use strict and use warnings in your test case.
3) Sometimes just doing 1) and 2) will lead you to solve your own
problem.

> sub checkFreqCapping() {
>    my ($fhlog, $prop, $cmpnInfo, $orderInfo, $result) = @_;
>    my $name = $$cmpnInfo{"cmpgn_name"};
>    if( $name =~ /freqcap/ )
>    {    
>       $fhlog->print("FreqINFO: Freqcapping is there\n");
>       $$result = "p";
>      
>    }
> }

You should have gotten an error on your prototype:
        main::checkFreqCapping() called too early to check prototype at xx.pl 
line xxxx.
I removed the () from the sub definition which basically said that
the sub had no args and had no errors.

Output from my test:
FreqINFO: Freqcapping is there
result=p

I created the test case you should have posted:

#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

use strict;
use warnings;
use IO::Handle;

my $io = new IO::Handle;
my $fhlog = $io->fdopen(fileno (STDOUT), "w") or die;

my $prop = 0;
my %cmpnInfo = (
   cmpgn_name => 'freqcap',
   foobar => 'barfu',
);
my $orderInfo = 0;
my $result = 0;

checkFreqCapping ($fhlog, $prop, \%cmpnInfo, $orderInfo, \$result);
print "result=$result\n";
exit;

#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

sub checkFreqCapping {
        my ($fhlog, $prop, $cmpnInfo, $orderInfo, $result) = @_;

my $name = $$cmpnInfo{'cmpgn_name'} or do {
        $$result = 'Error';
        return;
};

if ($name =~ /freqcap/) {
        $fhlog->print("FreqINFO: Freqcapping is there\n");
        $$result = 'p';
}
$$result = 'Error';

}

#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

__END__
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
  • Need help Bilashi Sahu
    • Re: Need help Bill Luebkert

Reply via email to