URL from safari.oreilly.com:
http://safari.oreilly.com/?x=1&mode=section&sortKey=title&sortOrder=asc&view=&xmlid=0596001738/perlbp-CHP-4-SECT-18&k=null&g=&catid=&s=1&b=1&f=1&t=1&c=1&u=1&r=&o=1&n=1&d=1&p=1&a=0&page=0
I came couldn't figure out what a fat comma would
mean in a test inside a map block. Is this a typo
(possibly meaning "(#_ >= 1)" instead) or is there
something here that I just don't understand?
> Readonly my %IS_EXIT_WORD
> => map { ($_ => 1) } qw(
> q quit bye exit stop done last finish aurevoir
> );
More details of the context from the page are shown
below (I added a "# CONFUSED_HERE" comment below the line in question.):
Section: 4.18. List Membership
...
But don't use any( ) if your list membership test uses eq:
Readonly my @EXIT_WORDS => qw(
q quit bye exit stop done last finish aurevoir
);
# and later...
if ( any { $cmd eq $_ } @EXIT_WORDS ) {
abort_run( );
}
In such cases it's much better to use a look-up table instead:
Readonly my %IS_EXIT_WORD
=> map { ($_ => 1) } qw(
# CONFUSED_HERE: ^^^^^^^
q quit bye exit stop done last finish aurevoir
);
# and later...
if ( $IS_EXIT_WORD{$cmd} ) {
abort_run( );
}
--
-- thanks, Bob Clancy
--
_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm