Changeset 2378

Show
Ignore:
Timestamp:
10/18/07 09:41:34
Author:
miyagawa
Message:

print to PAGER if it's set. changed variable names for the generated code.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Web-Scraper/trunk/bin/scraper

    r2350 r2378  
    1818    }; 
    1919} 
     20 
     21my $print = sub { 
     22    if ($ENV{PAGER}) { 
     23        open my $pager, "|$ENV{PAGER}"; 
     24        print $pager @_; 
     25    } else { 
     26        print @_; 
     27 
     28    } 
     29}; 
    2030 
    2131my(@stack, $source); 
     
    5767            warn Dump result; 
    5868        } elsif ($in eq 's') { 
    59             warn $tree->as_HTML(q('"&<>), "  ", {}); 
     69            $print->($tree->as_HTML(q('"&<>), "  ", {})); 
    6070        } elsif ($in eq 'q') { 
    6171            return; 
     
    7686 
    7787    my $code_stack = join "\n", map { "    $_" . (/;$/ ? "" : ";") } @stack; 
    78     my $stuff
    79         $source->[0] eq 'stdin'         ? '\join "", <STDIN>'
    80         $source->[0] eq 'URI'           ? qq(URI->new("$source->[1]")) : 
    81         $source->[0] eq 'file'          ? qq(\\do { my \$file = "$source->[1]"; open my \$fh, \$file or die "\$file: \$!"; join '', <\$fh> }) : 
     88    my($var, $stuff)
     89        $source->[0] eq 'stdin'         ? ('$input', '\join "", <STDIN>')
     90        $source->[0] eq 'URI'           ? ('$uri',   qq(URI->new("$source->[1]"))) : 
     91        $source->[0] eq 'file'          ? ('$file',  qq(\\do { my \$file = "$source->[1]"; open my \$fh, \$file or die "\$file: \$!"; join '', <\$fh> })) : 
    8292                                          '...'; 
    8393 
    84     return <<CODE; 
     94return <<CODE; 
    8595#!$Config{perlpath} 
    8696use strict; 
     
    8898use URI; 
    8999 
    90 my \$stuff  = $stuff; 
     100my $var = $stuff; 
    91101my \$scraper = scraper { 
    92102$code_stack 
    93103}; 
    94 my \$result = \$scraper->scrape(\$stuff); 
     104my \$result = \$scraper->scrape($var); 
    95105CODE 
    96106