in reply to Regarding Perl+Rasmol Script

  1. use strict; !
  2. There is no need for the @array variable, you can assign to a list of variables directly:
    @array=split(/-/,$value); $pdbid=$array[0]; $from=$array[1]; $to=$array[2]; $chainid=$array[3]; if($chainid eq "_") { $chainid=" "; } $menu1=$array[4]; $menu2=$array[5]; $menu3=$array[6]; @array=();
    is better written as
    ($pdbid, $from, $to, $chainid, $menu1, $menu2, $menu3) = split(/-/,$va +lue); if($chainid eq "_") { $chainid=" "; }
  3. You should find better names for the $menu1, $menu2 and $menu3 variables.
  4. The rows of print statements are hard to read and completely unnecessary. Use qq{} or heredocs:
    print <<"*END*"; select :$chainid wireframe on wireframe 70 select :$chainid spacefill on select :$chainid spacefill 0.55 select $from-$to:$chainid wireframe on wireframe 70 select $from-$to:$chainid spacefill on select $from-$to:$chainid spacefill 0.55 select $from-$to:$chainid color green *END*