title: Concatenate quoted macro variables
body: <p>I'm just trying to concatenate two quoted macro variables but there doesn't seem to be an easy way.</p>
  
  <p>Say we have:</p>
  
  <pre><code>%LET VAR1="This is not the greatest song in the world";
  %LET VAR2="this is just a tribute.";
  
  %LET TRIBUTE=%SYSFUNC(CATX(%STR( ),&amp;VAR1,&amp;VAR2));
  %PUT &amp;TRIBUTE;
  </code></pre>
  
  <p>I actually want:</p>
  
  <pre><code>  "This is not the greatest song in the world this is just a tribute."
  </code></pre>
  
  <p>But the above code actually yields: </p>
  
  <pre><code>"This is not the greatest song in the world"  "this is just a tribute."
  </code></pre>
  
  <p>So I try putting <code>%QUOTE()</code>,<code>%BQUOTE</code>,etc. around <code>&amp;VAR1</code> and <code>%VAR2</code> in hopes of unmasking the quotes but I get the same result. </p>
  
  <p>The only thing that works for me is:</p>
  
  <pre><code> %LET TRIBUTE="%SUBSTR(&amp;VAR1.,2,%LENGTH(&amp;VAR1.)-2) %SUBSTR(&amp;VAR2.,2,%LENGTH(&amp;VAR2.)-2)"; 
  </code></pre>
  
  <p>But this is ugly and can get lengthy really fast.
  Is there not a better way to do this ? </p>