Ticket #404 (closed defect: fixed)

Opened 5 years ago

Last modified 5 years ago

Padre::DocBrowser::POD 0.37 contains syntax that is only available in perl 5.10.0, so will not pass t\00-compile.t

Reported by: CSJewell Owned by:
Priority: critical Milestone:
Component: POD based help Version: trunk
Keywords: Cc: perl@…

Description

I'm calling it "trunk" below, meaning 0.37, BTW.

http://www.nntp.perl.org/group/perl.cpan.testers/2009/06/msg4296397.html shows the problem.

The ?+ and *+ "posessive quantifier" syntax is a 5.10.0+ only construction - it needs replaced by something that'll work in 5.8.5-5.8.9 or Padre will not install on those perl versions. (I'm willing to call this "critical" for that reason.

My best (untested) suggestion on what the line should be instead:
my($doc,$section) = $query =~ m|([^/]+)(?>(?:/?))(?>(.*))};

I'll explain it by making it a /x regex:

my($doc,$section) = $query =~

m{([^/]+) # Capture anything (at least 1) that's not

# a forward slash, then...

(?> # Don't backtrack into this.

(?:/?) # Grab 0 or 1 slashes, and do not capture them.

)
(?> # Don't backtrack into this.

(.*) # Capture anything else.

)

}x;

Change History

comment:1 Changed 5 years ago by CSJewell

  • Cc perl@… added

Meant my($doc,$section) = $query =~ m|([^/]+)(?>(?:/?))(?>(.*))|;

comment:2 Changed 5 years ago by szabgab

  • Status changed from new to closed
  • Resolution set to fixed

fixed and released in 0.38

Note: See TracTickets for help on using tickets.