Are the point symbols -> taking an object and kicking off a function??use strict; use File::Find; use HTML::TokeParser; my $bak_ext = '.bak'; my $root_dir = '/temp'; find(\&wanted, $root_dir); sub wanted { # if the extension fits... if ( /\.html?/i ) { print "Processing $_\n"; my $new = $_; my $bak = $_ . $bak_ext; rename $_, $bak or die "Cannot rename $_ to $bak: $!"; open NEW, "> $new" or die "Cannot open $new for writing: $!"; + #WHAT IS THE + DOING? #I DONT UNDERSTAND THIS TOKEN PART my $p = HTML::TokeParser->new( $bak ); #IS new( $bak ) A FUNCTION AND IF SO WHAT IS IT DOING? while ( my $token = $p->get_token ) { # this index is the 'raw text' of the token #I AM LOST ON THIS PART ALTHOUGH I UNDERSTAND IT IS AN IF ELSE STATEMENT WHAT IS THE 'T' AND 1 AND -1 DOING?? my $text_index = $token->[0] eq 'T' ? 1 : -1; # it's both a start tag and a meta tag #PLEASE EXPLAIN THIS PART if ( $token->[0] eq 'S' and $token->[1] eq 'meta' ) { $token->[ $text_index ] =~ s/AA\.//g; } #I DONT UNDERSTAND THIS PART. print NEW $token->[ $text_index ]; } close NEW; } else { print "Skipping $_\n"; } }
In reply to Script (ovid's) explanation by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |