win32 => [ qw/jokers commas/ ],
);
$types{$_} = $types{win32} for qw/dos os2 MSWin32 cygwin/;
+$types{$_} = $types{unix} for qw/linux
+ darwin machten next
+ aix irix hpux dgux dynixptx
+ bsdos freebsd openbsd
+ svr4 solaris sunos dec_osf
+ sco_sv unicos unicosmk/;
my %escapes = (
jokers => '?*',
=head2 C<type $type>
-Notifies to convert the metacharacters that corresponds to the predefined type C<$type>. C<$type> can be any of C<'jokers'>, C<'sql'>, C<'commas'>, C<'brackets'>, C<'win32'> or C<'unix'>. An unknown or undefined value defaults to C<'unix'>, except for C<'dos'>, C<'os2'>, C<'MSWin32'> and C<'cygwin'> that default to C<'win32'>. This means that you can pass C<$^O> as the C<$type> and get the corresponding shell behaviour. Returns the object.
+Notifies to convert the metacharacters that corresponds to the predefined type C<$type>.
+C<$type> can be any of :
+
+=over 4
+
+=item *
+
+C<'jokers'>, C<'sql'>, C<'commas'>, C<'brackets'>
+
+Singleton types that enable the corresponding C<do> classes.
+
+=item *
+
+C<'unix'>
+
+Covers typical Unix shell globbing features (effectively C<'jokers'> and C<'brackets'>).
+
+=item *
+
+C<$^O> values for common Unix systems
+
+Wrap to C<'unix'> (see L<perlport> for the list).
+
+=item *
+
+C<undef>
+
+Defaults to C<'unix'>.
+
+=item *
+
+C<'win32'>
+
+Covers typical Windows shell globbing features (effectively C<'jokers'> and C<'commas'>).
+
+=item *
+
+C<'dos'>, C<'os2'>, C<'MSWin32'>, C<'cygwin'>
+
+Wrap to C<'win32'>.
+
+=back
+
+In particular, you can usually pass C<$^O> as the C<$type> and get the corresponding shell behaviour.
$rw->type('win32'); # Set type to win32.
+ $rw->type($^O); # Set type to unix on Unices and win32 on Windows
$rw->type(); # Set type to unix.
+The C<type> method returns the L<Regexp::Wildcards> object.
+
=head2 C<< capture [ $captures E<verbar> set => $c1, add => $c2, rem => $c3 ] >>
Specifies the list of atoms to capture.
use strict;
use warnings;
-use Test::More tests => 8;
+use Test::More tests => 10;
use Regexp::Wildcards;
is($rw->convert($wc), $unix, 'nothing defaults to unix');
$rw->type('win32');
is($rw->convert($wc), $win32, 'set to win32');
+$rw->type('darwin');
+is($rw->convert($wc), $unix, 'set to darwin');
+$rw->type('MSWin32');
+is($rw->convert($wc), $win32, 'reset to win32');
$rw->type();
is($rw->convert($wc), $unix, 'reset to unix');