title: what is "copy corresponding" in cobol, and how does it work?
body: <p>On the rare occasion that people <a href="https://stackoverflow.com/questions/719135/whats-the-bright-side-of-cobol/719176#719176">say nice things about cobol, they often mention "copy corresponding" (and "move corresponding")</a>. </p>
  
  <p>I'd really like to know more about these -- what are their semantics? Is it the same as:</p>
  
  <pre class="lang-perl prettyprint-override"><code>(Perl)
  
  for my $key (keys %foo) {
      $bar{key} = $foo{key} if exists $bar{key};
  }
  </code></pre>
  
  <p>Or is there something deeper than that? Cobol records are strongly typed, right? How does that work?</p>