I think your confusion is in what tool extracts from what. grep extracts elements from a list; regex capture extracts pieces from a string. You're using both in your example, when you only need to use a regex:
perl -e 'print "param=value" =~ /param=(.*)/'
On the plus side, at least nobody had to edit your post to add code tags.
Caution: Contents may have been coded under pressure.