Show
Ignore:
Timestamp:
04/06/08 01:29:16 (8 months ago)
Author:
tomyhero
Message:

lang/perl/Acme-DRYCopyPaste : support synopsys

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Acme-DRYCopyPaste/trunk/lib/Acme/DRYCopyPaste.pm

    r8922 r8948  
    99    my $self  = {}; 
    1010    bless $self, $class; 
     11    return $self; 
     12} 
     13 
     14sub synopsys { 
     15    my $self = shift; 
     16 
     17    my $code = `perldoc -m $self->{module_name}`; 
     18    my $start 
     19        = index( $code, "\n=head1 SYNOPSIS" ) + length("\n=head1 SYNOPSIS"); 
     20    my $end = index( $code, "\n=", $start + 1 ); 
     21    my $scrape = substr( $code, $start, $end - $start ); 
     22    $self->{scrape} = $scrape; 
    1123    return $self; 
    1224} 
     
    2436    my $to   = shift; 
    2537 
    26     my $code = `perldoc -m $self->{module_name}`; 
    27     my @data = split( "\n" , $code ); 
     38    my $code   = `perldoc -m $self->{module_name}`; 
     39    my @data   = split( "\n", $code ); 
    2840    my $scrape = ''; 
    29     for ( my $i = $from -1 ; $i < $to ; $i++ ) { 
     41    for ( my $i = $from - 1; $i < $to; $i++ ) { 
    3042        $scrape .= $data[$i] . "\n"; 
    3143    } 
     
    3749    my $self = shift; 
    3850    eval( $self->{scrape} ); 
     51    warn $@; 
    3952} 
    4053 
    41541; 
     55 
    4256=head1 NAME 
    4357 
     
    4963 my $d = Acme::DRYCopyPaste->new(); 
    5064 $d->module('Perl6::Say')->copy( 50, 52)->paste(); 
     65 $d->synopsys->paste(); # it works but Perl6::Say SYNOPSYS generate error. 
    5166 
    5267=head1 DESCRIPTION