On Thu, Mar 20, 2008 at 2:02 PM, John W. Krahn <[EMAIL PROTECTED]> wrote: snip > > print '$x[', $1 ? '0' : '1', "] matched.\n"; > > print "\$x[", @- - 1, "] matched.\n" snip
That only works if we assume that $x[0] and $x[1] are free of captures themselves: #!/usr/bin/perl use warnings; use strict; my @x = ( qr/(0)/, qr/(foo)/ ); $_ = 0; if (/($x[0])|($x[1])/) { print '$x[', $1 ? '0' : '1', "] matched.\n"; } if (/($x[0])|($x[1])/) { print '$x[', @- - 1, "] matched.\n"; } if (/($x[0])|($x[1])/) { print '$x[', defined $1 ? '0' : '1', "] matched.\n"; } -- Chas. Owens wonkden.net The most important skill a programmer can have is the ability to read. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/