GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


NAME

       match::smart - clone of smartmatch operator

SYNOPSIS

          use v5.10;
          use match::smart;

          if ($this |M| $that)
          {
             say "$this matches $that";
          }

DESCRIPTION

       match::smart provides a match operator "|M|" that acts like more or
       less identically to the (as of Perl 5.18) deprecated smart match
       operator.

       If you don't like the crazy Sub::Infix operator, you can alternatively
       export a more normal function:

          use v5.10;
          use match::smart qw(match);

          if (match($this, $that))
          {
             say "$this matches $that";
          }

   Differences with ~~
       There were major changes to smart match between 5.10.0 and 5.10.1. This
       module attempts to emulate the behaviour of the operator in more recent
       versions of Perl. In particular, 5.18.0 (minus the warnings).
       Divergences not noted below should be considered bugs.

       While the real smart match operator implicitly takes references to
       operands that are hashes or arrays, match::smart's operator does not.

          @foo ~~ %bar       # means: \@foo ~~ \%bar
          @foo |M| %bar      # means: scalar(@foo) |M| scalar(%bar)

       If you want the "\@foo ~~ \%bar" behaviour, you need to add the
       backslashes yourself:

          \@foo |M| \%bar

       Similarly:

          "foo" ~~  /foo/    # works
          "foo" |M| /foo/    # no worky!
          "foo" |M| qr/foo/  # do this instead

       match::smart treats the "MATCH" method on blessed objects (if it
       exists) like an overloaded "~~". This is for compatibility with
       match::simple, and for compatibility with pre-5.10 Perls that don't
       allow overloading "~~".

BUGS

       Please report any bugs to
       <http://rt.cpan.org/Dist/Display.php?Queue=match-simple>.

SEE ALSO

       match::simple.

       This module uses Exporter::Tiny.

AUTHOR

       Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE

       This software is copyright (c) 2013-2014 by Toby Inkster.

       This is free software; you can redistribute it and/or modify it under
       the same terms as the Perl 5 programming language system itself.

DISCLAIMER OF WARRANTIES

       THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
       WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
       MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.



  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to webmaster@gnu.wiki.
Page load time: 0.112 seconds. Last modified: November 04 2018 12:49:43.