On Sat, 2 Jun 2018 07:30:48 -0500
p...@reason.net wrote:

> Very useful advice, Shlomi; thanks!
> 

you are welcome! Also see http://perl-begin.org/tutorials/bad-elements/ , which
I also maintain.

> 
> > On Jun 2, 2018, at 3:57 AM, Shlomi Fish <shlo...@shlomifish.org> wrote:
> > 
> > On Fri, 1 Jun 2018 15:54:55 -0500
> > Rick T <p...@reason.net <mailto:p...@reason.net>> wrote:
> >   
> >> This is a newbie question, I’m sure. But I get perplexed easily!
> >> 
> >> The follow code segment expects to receive a $student_id consisting of a
> >> surname followed by a hyphen followed by a number. The die is for testing
> >> what I’m doing. 
> >> 
> >> If I feed it 'jones-123’ it dies with ‘jones, - , 123’ as I expected. But
> >> if I feed it ‘jones-‘ omitting the number on the end, it dies with no
> >> matches at all (or blanks): ‘ , , ‘ and I cannot figure out why it does
> >> not die with ‘jones, -, ' and would appreciate an explanation. Many thanks!
> >> 
> >>    $student_id = lc $student_info_hash{student_id}; # Impose lower case
> >>    $student_id =~ s/\s//xmsg;                       # Remove whitespace
> >> 
> >>    $student_id =~
> >>        m{
> >>            \A([a-z]+)  # match and capture leading alphabetics 
> >>            (-)         # hyphen to separate surname from student number
> >>            ([0-9]+\z)  # match and capture trailing digits
> >>         }xms;          # Perl Best Practices
> >>    $student_surname = $1;
> >>    my $hyphen       = $2;
> >>    $student_number  = $3;  
> > 
> > In addition to the other comments, Instead of that, you should do:
> > 
> > if (my ($surname, $hyphen, $num) = $student_id =~ m{ ... }xms)
> > {
> >     # match successful.
> > }
> > else
> > {
> >     die "match failed ...";
> > }
> > 
> > always check for regex match successes and use the return captures of regex
> > ops. See PBP for more.
> >   
> >> die "$student_surname, $hyphen, $student_number”;
> >> 
> >> Rick Triplett
> >>   
> > 
> > 
> > 
> > -- 
> > -----------------------------------------------------------------
> > Shlomi Fish       http://www.shlomifish.org/ <http://www.shlomifish.org/>
> > Best Introductory Programming Language - http://shlom.in/intro-lang
> > <http://shlom.in/intro-lang>
> > 
> > A horse! A horse! My kingdom for a horse!
> >    — https://en.wikiquote.org/wiki/Richard_III_%28play%29
> > <https://en.wikiquote.org/wiki/Richard_III_%28play%29>
> > 
> > Please reply to list if it's a mailing list post - http://shlom.in/reply
> > <http://shlom.in/reply> .
> > 
> > --
> > To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> > <mailto:beginners-unsubscr...@perl.org> For additional commands, e-mail:
> > beginners-h...@perl.org <mailto:beginners-h...@perl.org>
> > http://learn.perl.org/ <http://learn.perl.org/>  



-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
NSA Factoids - http://www.shlomifish.org/humour/bits/facts/NSA/

Chuck Norris wrote an interpreter for a Turing-complete language using only
NOPs.
    — http://www.shlomifish.org/humour/bits/facts/Chuck-Norris/

Please reply to list if it's a mailing list post - http://shlom.in/reply .

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to