The sigils make variable interpolation easier only in the most generic case "interpolate $me". Anything more sophisticated requires a temporary variable.
my $x = 1;
say "$x + 1 = @{[ $x + 1 ]}";
sub plus1 { $_[0] + 1 }
say "$x + 1 = ${\plus1($x)}";