http://www.perlmonks.org?node_id=995310


in reply to Re^2: perlfunc index name conflict
in thread perlfunc index name conflict

In scalar context such as supplied by index, a successfully matching regex will return 1, which will be stringized to '1' for the substring for which to search:

>perl -wMstrict -le "my $str = 'abc1def'; $_ = 'xyz'; ;; print 'index: ', index $str, /(\w+)/; print qq{captured: '$1'}; " index: 3 captured: 'xyz'

An unsuccessful regex match returns the empty string in scalar context.