in reply to execute shell script from perl
qx , as documented in perlop, runs /bin/sh, which might be different to your terminal shell. Most probably, the shell in which the "Here String" works is bash, but /bin/sh is dash which doesn't support it.
Also note that what follows <<< isn't a "string argument", but it gets passed to the preceding command on standard input (after some expansions).
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,
In Section
Seekers of Perl Wisdom