~$ perl -e '$_="qwerty"; s/r/print pos(). "\n";/e; print $_;'
3
qwe1ty
####
perl -e "\$_='qwerty'; s/r/print pos(). \"\n\";print \$&.\"\n\";/e; print \$_ . \"\n\";"
3
r
qwe1ty
~$
####
#!/usr/bin/perl
use strict;
use warnings;
use feature qw(say);
# perl -le "\$_='qwerty';s/r/print pos()/e;"
my $str ='qwerty';
$str =~ s/[rq]/say pos($str); say $&;/eg;
print "\t\$str: $str \n\n";
my $str0 ='qwerty';
$str0 =~ s/(r|q)/say pos($str0); say $&;/eg;
print "\t\$str0: $str0 \n\n";
my $str1 ='qwerty';
$str1 =~ s/[rz]/say pos($str0); say $&;/eg;
print "\t\$str1: $str1 \n\n";
my $str2 ='qwerty_erk';
$str2 =~ s/r/say pos($str2); say $&;/eg;
print "\t\$str2: $str2 \n\n";
my $var='four';
$var =~ s/[fu]/say pos($var); say $&;/eg;
print $var . "\n\n";
####
~/pl_test$ perl braveghost.pl
0
q
3
r
$str: 1we1ty
0
q
3
r
$str0: 1we1ty
Use of uninitialized value in say at braveghost.pl line 17.
r
$str1: qwe1ty
3
r
8
r
$str2: qwe1ty_e1k
0
f
2
u
1o1r
~/pl_test$