Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

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?

Comment on checking substring for numbers
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
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (4)
As of 2016-02-14 04:55 GMT
Find Nodes?
    Voting Booth?

    How many photographs, souvenirs, artworks, trophies or other decorative objects are displayed in your home?

    Results (457 votes), past polls