G'day SankoR,
On 5.18.1 (current version):
$ cat junk
#!/usr/bin/env perl
use strict;
use warnings;
no if $] >= 5.018, warnings => 'experimental::smartmatch';
use Tie::Array;
tie my @array_t, 'Tie::StdArray';
my @array = @array_t = qw[aaa bbb ccc ddd eee];
print "plain smatch: " . (/a/ ~~ @array) . "\n";
print "plain grep: " . (grep {/a/} @array) . "\n";
print "tied smatch: " . (/a/ ~~ @array_t) . "\n";
print "tied grep: " . (grep {/a/} @array_t) . "\n";
$ junk
plain smatch: 1
plain grep: 1
Use of uninitialized value in pattern match (m//) at ./junk line 12.
Use of uninitialized value in pattern match (m//) at ./junk line 12.
Use of uninitialized value in pattern match (m//) at ./junk line 12.
Use of uninitialized value in pattern match (m//) at ./junk line 12.
Use of uninitialized value in pattern match (m//) at ./junk line 12.
tied smatch:
tied grep: 1