Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

checking substring for numbers

by dwatson06 (Friar)
on Aug 01, 2002 at 20:00 UTC ( #186912=perlquestion: print w/replies, xml ) Need Help??
dwatson06 has asked for the wisdom of the Perl Monks concerning the following question:

I am trying to search data from a file for a numeric value. If there is not one, default to four zeros.
I am trying this...
if(substr($AResp, 8, 4) =~ eq /\d\d\d\d/) {
my $shopID = substr($AResp, 8, 4);
my $shopID = "0000";
What am I doing wrong?

Replies are listed 'Best First'.
Re: checking substring for numbers
by bedk (Pilgrim) on Aug 01, 2002 at 20:10 UTC
    You've got a scoping problem, I think. 'my' gives you a variable local to a block, so as soon as you hit the right curly brace your $shopID goes away.

Re: checking substring for numbers
by BrowserUk (Pope) on Aug 01, 2002 at 22:11 UTC

    Now the guys have explained why your code is failing, you might also consider using:

    my $shop = m/.{8}(\d{4})/ ? $1 : '0000';

    or if you have an aversion to the ternary operator

    my $shop = '0000'; $shop = $1 if $AResp =~ /.{8}(\d{4})/;
Re: checking substring for numbers
by BorgCopyeditor (Friar) on Aug 01, 2002 at 20:11 UTC

    From perlsub:

    Unlike dynamic variables created by the local operator, lexical variables declared with my are totally hidden from the outside world

    --Your punctuation skills are insufficient!

Re: checking substring for numbers
by dwatson06 (Friar) on Aug 01, 2002 at 20:06 UTC
    Please disregard the 'eq' in the source. I was trying to do a string comparison for empty input.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://186912]
Approved by silent11
[choroba]: Aren't they the standard X colours?
[ambrus]: choroba: that's not clear, since Tk runs on systems that don't even have X.

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (8)
As of 2017-10-17 12:03 GMT
Find Nodes?
    Voting Booth?
    My fridge is mostly full of:

    Results (227 votes). Check out past polls.