App-sh2p

 view release on metacpan or  search on metacpan

bin/sh2p.pl  view on Meta::CPAN

                  $statement->convert_tokens();
                 
                  undef $statement;
               }
               
               $delimiter = ';';
            } 
            elsif (defined $statement) {
               # Inside a while, until, for, if, or case
               # print STDERR "statement <$tok> added\n";
               $statement->add_token ($tok);
            }
            else {
               # statements after ;
               $statement = new App::sh2p::Statement();
               $statement->add_token ($tok);
            }
         }
         
         # 0.05
         if (defined $statement && $delimiter eq ';' ) {
            $statement->identify_tokens(0);
            $statement->convert_tokens();
            $statement = undef;
         }
         elsif ($delimiter eq 'esac') {
               $statement->push_case();
               $statement = undef;
         }
         elsif (defined $statement) {
            $statement->add_break ();
         }
         
      }
      
      # At end

      flush_out ();
      
      $line = '';
   }
   
   App::sh2p::Handlers::write_subs();
   App::sh2p::Here::write_here_subs();
   flush_out ();
 
}  # process_script
   
###########################################################

sub usage {
   print STDERR "Usage: sh2p.pl [-i] [-t] [-f] input-file output-file | input-files... out-directory\n";
   exit 1;
}

###########################################################
# main
# done this way to aid testing 
# see "Perl Testing, A Developer's Notebook" by Ian Langworth & chromatic (O'Reilly)

main(@ARGV) unless caller();

sub main
{
    my %args;

    getopts ('ift', \%args);
    $g_integer = 0 if exists $args{'i'};
    $g_clobber = 1 if exists $args{'f'};
    $g_display = 1 if exists $args{'t'};

    if ( @ARGV < 2 ) {
        usage();
    }
    
    outer(@ARGV);
}

__END__

####################################################
# POD is in sh2p.pod



( run in 1.299 second using v1.01-cache-2.11-cpan-e93a5daba3e )