I was thinking about removing files this morning, and realized that I wish rm supported inclusion/exclusion.

In particular, I wanted to remove "* but not Makefile" (since my Makefile uses lwp-download to re-fetch the source code, etc.)

It occurred to me to wonder: can P6's c<but> do the same thing?

That is, can I say:

 $my_rex = qr/fo*/ but not 'foo';

 while (<>) {
   unlink if /$my_rex/;
 }

and have it DWIM? What about globbing?

In general, what needs to be done to support this 'but, used as part of a boolean'?

In this case, but really means 'and':

$my_rex = { my $re = qr/fo*/; $re.eval := sub { $_ ne 'foo' && call; }; return $re; };

This has interesting implications for specification of generators, too. Comment?

=Austin



Reply via email to