X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FPod%2FConstants.pm;h=a66ee0cf7e166a3708d4eb3e3d7a10f54f82e162;hb=refs%2Ftags%2F0.18;hp=80c2eab0fee8ada6d2883caf25f5b1fae395d103;hpb=94e0b31b04205bddac4ea3ffbf55a948d0148661;p=pod-constants.git diff --git a/lib/Pod/Constants.pm b/lib/Pod/Constants.pm index 80c2eab..a66ee0c 100644 --- a/lib/Pod/Constants.pm +++ b/lib/Pod/Constants.pm @@ -1,8 +1,3 @@ -# Copyright (C) 2001, 2002, 2007 Sam Vilain. All Rights Reserved. -# This module is free software. It may be used, redistributed and/or -# modified under the terms of the Perl Artistic License, version 2 or -# later, OR the terms of the GNU General Public License, v3 or later. - package Pod::Constants; use 5.006002; @@ -12,7 +7,7 @@ use warnings; use base qw(Pod::Parser Exporter); use Carp; -our $VERSION = 0.17; +our $VERSION = 0.18; # An ugly hack to go from caller() to the relevant parser state # variable @@ -30,26 +25,26 @@ sub end_input { $parser->{paragraphs} =~ s/^\s*|\s*$//gs if $parser->{trimmed_tags}->{$parser->{active}}; - if (ref $whereto eq "CODE") { + if (ref $whereto eq 'CODE') { print "calling sub\n" if $parser->{DEBUG}; local ($_) = $parser->{paragraphs}; $whereto->(); print "done\n" if $parser->{DEBUG}; - } elsif (ref $whereto eq "SCALAR") { + } elsif (ref $whereto eq 'SCALAR') { print "inserting into scalar\n" if $parser->{DEBUG}; $$whereto = $parser->{paragraphs}; - } elsif (ref $whereto eq "ARRAY") { + } elsif (ref $whereto eq 'ARRAY') { print "inserting into array\n" if $parser->{DEBUG}; @$whereto = split /\n/, $parser->{paragraphs}; - } elsif (ref $whereto eq "HASH") { + } elsif (ref $whereto eq 'HASH') { print "inserting into hash\n" if $parser->{DEBUG}; # Oh, sorry, should I be in LISP101? %$whereto = ( - map { map { s/^\s*|\s*$//g; $_ } split /=>/, $_ } grep m/^ + map { map { s/^\s*|\s*$//g; $_ } split /=>/ } grep m/^ ( (?:[^=]|=[^>])+ ) # scan up to "=>" => ( (?:[^=]|=[^>])+ =? )# don't allow more "=>"'s - $/x, split /\n/, $parser->{paragraphs}); + $/x, split /\n/, $parser->{paragraphs},); } else { die $whereto } $parser->{active} = undef; } @@ -99,7 +94,7 @@ sub verbatim { my ($parser, $paragraph, $line_num) = @_; $paragraph =~ s/(?:\r\n|\n\r)/\n/g; - my $status = $parser->{active} ? "using" : "ignoring"; + my $status = $parser->{active} ? 'using' : 'ignoring'; print "Got paragraph: $paragraph ($status)\n" if $parser->{DEBUG}; $parser->{paragraphs} .= $paragraph if defined $parser->{active} @@ -116,8 +111,8 @@ sub import { # try to guess the source file of the caller my $source_file; - if (caller ne "main") { - (my $module = caller().".pm") =~ s|::|/|g; + if (caller ne 'main') { + (my $module = caller.'.pm') =~ s|::|/|g; $source_file = $INC{$module}; } $source_file ||= $0; @@ -145,7 +140,7 @@ sub import_from_file { $parser->add_hook(@_); print "Pod::Parser: DEBUG: Opening $filename for reading\n" if $parser->{DEBUG}; - open my $fh, "<$filename" or die "cannot open $filename for reading; $!"; + open my $fh, '<', $filename or croak "cannot open $filename for reading; $!"; $parser->parse_from_filehandle($fh, \*STDOUT); @@ -154,18 +149,18 @@ sub import_from_file { sub add_hook { my $parser; - if (UNIVERSAL::isa($_[0], __PACKAGE__)) { + if (eval { $_[0]->isa(__PACKAGE__) }) { $parser = shift; } else { - $parser = $parsers{caller()} or die "add_hook called, but don't know what for - caller = ".caller; + $parser = $parsers{caller()} or croak 'add_hook called, but don\'t know what for - caller = '.caller; } while (my ($pod_tag, $var) = splice @_, 0, 2) { #print "$pod_tag: $var\n"; - if (lc($pod_tag) eq "-trim") { + if (lc($pod_tag) eq '-trim') { $parser->{trim_next} = $var; - } elsif ( lc($pod_tag) eq "-debug" ) { + } elsif ( lc($pod_tag) eq '-debug' ) { $parser->{DEBUG} = $var; - } elsif (lc($pod_tag) eq "-usage") { + } elsif (lc($pod_tag) eq '-usage') { # an idea for later - automatic "usage" #%wanted_pod_tags{@tags} } else { @@ -174,7 +169,7 @@ sub add_hook { $parser->{wanted_pod_tags}->{$pod_tag} = $var; $parser->{trimmed_tags}->{$pod_tag} = 1 if $parser->{trim_next}; } else { - die "Sorry - need a reference to import POD sections into, not the scalar value $var" + croak "Sorry - need a reference to import POD sections into, not the scalar value $var" } } } @@ -182,10 +177,10 @@ sub add_hook { sub delete_hook { my $parser; - if ( UNIVERSAL::isa($_[0], __PACKAGE__) ) { + if (eval { $_[0]->isa(__PACKAGE__) }) { $parser = shift; } else { - $parser = $parsers{caller()} or die "delete_hook called, but don't know what for - caller = ".caller; + $parser = $parsers{caller()} or croak 'delete_hook called, but don\'t know what for - caller = '.caller; } while ( my $label = shift ) { delete $parser->{wanted_pod_tags}->{$label}; @@ -193,7 +188,7 @@ sub delete_hook { } } -1.4142; +1; __END__ =encoding utf-8 @@ -222,7 +217,7 @@ Pod::Constants - Include constants from POD # This is an example of using a closure. $_ is set to the # contents of the paragraph. In this example, "eval" is # used to execute this code at run time. - $VERSION = 0.17; + $VERSION = 0.18; =head2 Some list @@ -441,6 +436,16 @@ method seems to break dh-make-perl. Sam Vilain, +Maintained by Marius Gavrilescu, since July 2015 + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2001, 2002, 2007 Sam Vilain. All Rights Reserved. +Copyright (C) 2015 by Marius Gavrilescu + +This module is free software. It may be used, redistributed and/or +modified under the terms of the Perl Artistic License, version 2 + =head1 BUGS/TODO I keep thinking it would be nice to be able to import an =item list @@ -455,14 +460,5 @@ Would this be useful? Debug output is not very readable -=head1 PATCHES WELCOME - -If you have any suggestions for enhancements, they are much more likely -to happen if you submit them as a patch to the distribution. - -Source is kept at - - git://utsl.gen.nz/Pod-Constants - =cut