Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Detect presence of numbers 1-9

by simon.proctor (Vicar)
on Apr 08, 2002 at 09:46 UTC ( #157401=note: print w/replies, xml ) Need Help??


in reply to Detect presence of numbers 1-9

If you felt brave enough you could combine the above with tie and then make all the tests transparent to your program. Look at the tie manpage for details.

Replies are listed 'Best First'.
Re: Re: Detect presence of numbers 1-9
by Juerd (Abbot) on Apr 08, 2002 at 10:06 UTC

    If you felt brave enough you could combine the above with tie and then make all the tests transparent to your program.

    A try (untested)

    package Tie::Match; use strict; sub TIESCALAR { my ($class, $regex) = @_; return bless [undef, $regex], $class; } sub STORE { my ($self, $new) = @_; $self->[0] = $new =~ $self->[1] ? $new : undef; } sub FETCH { my ($self) = @_; return $_->[0]; } sub UNTIE { } sub DESTROY { } __END__ =head1 NAME Tie::Match - Tie a scalar that is undef when not matching a regex =head1 SYNOPSIS tie my $scalar, 'Tie::Match', qr/^[1-5]+$/; while ($scalar = <>) { if (defined $scalar) { print "Match: $scalar\n"; } else { print "No match.\n"; } } =head1 DESCRIPTION Ties a scalar. The scalar can be set, but will be undef if the new value does not match the given regex. =head1 URL http://perlmonks.org/?node_id=157404 =cut

    U28geW91IGNhbiBhbGwgcm90MTMgY
    W5kIHBhY2soKS4gQnV0IGRvIHlvdS
    ByZWNvZ25pc2UgQmFzZTY0IHdoZW4
    geW91IHNlZSBpdD8gIC0tIEp1ZXJk
    

Re: Re: Detect presence of numbers 1-9
by kappa (Chaplain) on Apr 08, 2002 at 15:18 UTC
    I think, this is a huge overkill :) Imagine, we'd have to compose a Tie::FooThing package every time we face a simple branching algorithm? What this guy needs is probably some good intro into regexen and some good example variants of code, like tachyon provided.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://157401]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (5)
As of 2021-06-16 14:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What does the "s" stand for in "perls"? (Whence perls)












    Results (75 votes). Check out past polls.

    Notices?