Result:
found more than 574 distributions - search limited to the first 2001 files matching your query ( run in 1.993 )


App-PRT

 view release on metacpan or  search on metacpan

lib/App/PRT/Command/ListFiles.pm  view on Meta::CPAN

use warnings;
use Path::Class;

sub new {
    my ($class) = @_;
    bless {eol => "\n"}, $class;
}

# parse arguments from CLI.  The only argument is `-0`, to output
# filenames separated by "\0" instead of "\n".
# arguments:

lib/App/PRT/Command/ListFiles.pm  view on Meta::CPAN

sub parse_arguments {
    my ($self, @arguments) = @_;

    if(@arguments && $arguments[0] eq '-0') {
        shift @arguments;
        $self->{eol} = "\0";
    }

    @arguments;
}

# Output the filename.
# arguments:
#   $file: filename
sub execute {
    my ($self, $file) = @_;
    print file($file), $self->{eol};
        # Extra file() call to canonicalize
}

1;

 view all matches for this distribution


App-PTP

 view release on metacpan or  search on metacpan

lib/App/PTP/Args.pm  view on Meta::CPAN

  my %o;
  $o{input_encoding} = 'UTF-8';
  $o{output_encoding} = 'UTF-8';
  $o{input_separator} = '\n';  # This will be interpreted in a regex
  $o{output_separator} = "\n";
  $o{preserve_eol} = 0;
  $o{fix_final_separator} = 0;
  $o{recursive} = 0;
  $o{input_filter} = undef;
  $o{debug_mode} = 0;
  $o{merge} = 0;

lib/App/PTP/Args.pm  view on Meta::CPAN

    '0' => sub {
      $options{input_separator} = "\N{NULL}";
      $options{output_separator} = '';
    },
    '00' => sub { $options{output_separator} = "\N{NULL}" },
    'preserve-input-separator|eol' =>
        sub { $options{preserve_eol} = 1; $options{output_separator} = '' },
    'preserve-perl-env!' => \$options{preserve_perl_env},
    'safe:2' => sub { $options{use_safe} = $_[1] },)
}

sub modes_flags {

 view all matches for this distribution


App-Pastebin-sprunge

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

t/01-use.t
t/02-retrieve.t
t/03-create.t
xt/author/critic.t
xt/author/no-tabs.t
xt/author/test-eol.t
xt/release/cpan-changes.t
xt/release/dist-manifest.t
xt/release/distmeta.t
xt/release/kwalitee.t
xt/release/meta-json.t

 view all matches for this distribution


App-PigLatin

 view release on metacpan or  search on metacpan

t/files/moby11.txt  view on Meta::CPAN

away to far distant scenes, I know not, but he now spoke

of his native island; and, eager to hear his history,

I begged him to go on and tell it.  He gladly complied.

Though at the time I but ill comprehended not a few of his words,

yet subsequent disclosures, when I had become more familiar

with his broken phraseology, now enable me to present the whole

story such as it may prove in the mere skeleton I give.







CHAPTER 12

t/files/moby11.txt  view on Meta::CPAN

all Asia, or Africa either; yet (ere the final truck was put to it)

as that great stone mast of theirs may be said to have gone by

the board, in the dread gale of God's wrath; therefore, we cannot

give these Babel builders priority over the Egyptians.  And that

the Egyptians were a nation of mast-head standers, is an

assertion based upon the general belief among archaeologists,

that the first pyramids were founded for astronomical purposes:

a theory singularly supported by the peculiar stairlike formation

of all four sides of those edifices; whereby, with prodigious long

upliftings of their legs, those old astronomers were wont to mount

to the apex, and sing out for new stars; even as the look-outs of a

t/files/moby11.txt  view on Meta::CPAN

usually walk at that hour, as country gentlemen, after the same meal,

take a few turns in the garden.



Soon his steady, ivory stride was heard, as to and fro he paced his

old rounds, upon planks so familiar to his tread, that they were all

over dented, like geological stones, with the peculiar mark of his walk.

Did you fixedly gaze, too, upon that ribbed and dented brow;

there also, you would see still stranger foot-prints--the foot-prints

of his one unsleeping, ever-pacing thought.



But on the occasion in question, those dents looked deeper,

t/files/moby11.txt  view on Meta::CPAN

it has been made the symbol of the divine spotlessness and power;

by the Persian fire worshippers, the white forked flame being

held the holiest on the altar; and in the Greek mythologies,

Great Jove himself being made incarnate in a snow-white bull;

and though to the noble Iroquois, the midwinter sacrifice of the sacred

White Dog was by far the holiest festival of their theology,

that spotless, faithful creature being held the purest envoy they

could send to the Great Spirit with the annual tidings of their

own fidelity; and though directly from the Latin word for white,

all Christian priests derive the name of one part of their

sacred vesture, the alb or tunic, worn beneath the cassock;

t/files/moby11.txt  view on Meta::CPAN

me to approve myself omnisciently exhaustive in the enterprise;

not overlooking the minutest seminal germs of his blood,

and spinning him out to the uttermost coil of his bowels.

Having already described him in most of his present habitatory

and anatomical peculiarities, it now remains to magnify him in

an archaeological, fossiliferous, and antediluvian point of view.

Applied to any other creature than the Leviathan--to an ant or a flea--

such portly terms might justly be deemed unwarrantably grandiloquent.

But when Leviathan is the text, the case is altered.  Fain am I to stagger

to this enterprise under the weightiest words of the dictionary.

And here be it said, that whenever it has been convenient to consult

t/files/moby11.txt  view on Meta::CPAN

To produce a mighty book, you must choose a mighty theme.

No great and enduring volume can ever be written on the flea,

though many there be who have tried it.



Ere entering upon the subject of Fossil Whales, I present my

credentials as a geologist, by stating that in my miscellaneous

time I have been a stone-mason, and also a great digger of ditches,

canals and wells, wine-vaults, cellars, and cisterns of all sorts.

Likewise, by way of preliminary, I desire to remind the reader,

that while in the earlier geological strata there are found the fossils

of monsters now almost completely extinct; the subsequent relics

discovered in what are called the Tertiary formations seem the connecting,

or at any rate intercepted links, between the antichronical creatures,

and those whose remote posterity are said to have entered the Ark;

all the Fossil Whales hitherto discovered belong to the Tertiary period,

t/files/moby11.txt  view on Meta::CPAN

across the sea to Owen, the English Anatomist, it turned out that this

alleged reptile was a whale, though of a departed species.  A significant

illustration of the fact, again and again repeated in this book,

that the skeleton of the whale furnishes but little clue to the shape

of his fully invested body.  So Owen rechristened the monster Zeuglodon;

and in his paper read before the London Geological Society, pronounced it,

in substance, one of the most extraordinary creatures which the mutations

of the globe have blotted out of existence.



When I stand among these mighty Leviathan skeletons,

skulls, tusks, jaws, ribs, and vertebrae, all characterized

t/files/moby11.txt  view on Meta::CPAN

he has not degenerated from the original bulk of his sires.



But upon investigation we find, that not only are the whales

of the present day superior in magnitude to those whose fossil

remains are found in the Tertiary system (embracing a distinct

geological period prior to man), but of the whales found in

that Tertiary system, those belonging to its latter formations

exceed in size those of its earlier ones.



Of all the pre-adamite whales yet exhumed, by far the largest

is the Alabama one mentioned in the last chapter, and that

t/files/moby11.txt  view on Meta::CPAN

seventy-two feet for the skeleton of a large sized modern whale.

And I have heard, on whalemen's authority, that Sperm Whales have

been captured near a hundred feet long at the time of capture.



But may it not be, that while the whales of the present hour are an

advance in magnitude upon those of all previous geological periods;

may it not be, that since Adam's time they have degenerated?



Assuredly, we must conclude so, if we are to credit the accounts

of such gentlemen as Pliny, and the ancient naturalists generally.

For Pliny tells us of Whales that embraced acres of living bulk,

 view all matches for this distribution


App-Pimpd

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

pimpd2
t/01-pod.t
t/02-pod-coverage.t
t/10-minimum-version.t
t/10-strict.t
t/30-eol.t
extra/zsh/_pimpd2
META.yml                                 Module YAML meta-data (added by MakeMaker)
META.json                                Module JSON meta-data (added by MakeMaker)

 view all matches for this distribution


App-Pipeline-Simple

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

t/00-load.t
t/01-run.t
t/02-cmdline.t
t/author-critic.t
t/author-pod-spell.t
t/author-test-eol.t
t/data/input.yml
t/data/string_manipulation.yml
t/release-distmeta.t
t/release-pod-coverage.t
t/release-pod-syntax.t

 view all matches for this distribution


App-Plex-Archiver

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

dist.ini
lib/App/Plex/Archiver.pm
t/00-compile.t
t/author-critic.t
t/author-distmeta.t
t/author-eol.t
t/author-minimum-version.t
t/author-mojibake.t
t/author-no-tabs.t
t/author-pod-coverage.t
t/author-pod-linkcheck.t

 view all matches for this distribution


App-Prove-Plugin-Elasticsearch

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

t/App-ape-test.t
t/App-ape-update.t
t/App-ape.t
t/ape.t
t/author-critic.t
t/author-eol.t
t/author-mojibake.t
t/author-no-tabs.t
t/author-pod-coverage.t
t/author-pod-spell.t
t/author-pod-syntax.t

 view all matches for this distribution


App-Prove-Plugin-TermTable

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

inc/mymm.pl
lib/App/Prove/Plugin/TermTable.pm
t/00_diag.t
t/01_use.t
t/app_prove_plugin_termtable.t
xt/author/eol.t
xt/author/no_tabs.t
xt/author/pod.t
xt/author/pod_coverage.t
xt/author/pod_spelling_common.t
xt/author/pod_spelling_system.t

 view all matches for this distribution


App-Prove-Plugin-TermTableStty

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

inc/mymm.pl
lib/App/Prove/Plugin/TermTableStty.pm
t/00_diag.t
t/01_use.t
t/app_prove_plugin_termtablestty.t
xt/author/eol.t
xt/author/no_tabs.t
xt/author/pod.t
xt/author/pod_coverage.t
xt/author/pod_spelling_common.t
xt/author/pod_spelling_system.t

 view all matches for this distribution


App-Provision-Tiny

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

lib/App/Provision/Ssh.pm
lib/App/Provision/Tiny.pm
lib/App/Provision/Wget.pm
t/00-compile.t
t/01-methods.t
t/author-eol.t
t/author-no-tabs.t
t/author-pod-coverage.t
t/author-pod-spell.t
t/author-pod-syntax.t

 view all matches for this distribution


App-Puppet-Environment-Updater

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

t/00-compile.t
t/000-report-versions-tiny.t
t/app.puppet.environment.updater.t
t/author-critic.t
t/author-distmeta.t
t/author-eol.t
t/author-pod-coverage.t
t/author-pod-syntax.t
t/lib/App/Puppet/Environment/UpdaterTest.pm
t/release-cpan-changes.t

 view all matches for this distribution


App-PureProxy

 view release on metacpan or  search on metacpan

lib/App/PureProxy.pm  view on Meta::CPAN


=for markdown ```sh

    pureproxy --host=0.0.0.0 --port=5000 --workers=10 --server Starlight

    pureproxy --traffic-log=traffic.log --traffic-log-body-eol='|'

    pureproxy --access-log=access.log

    pureproxy --other-plackup-options

 view all matches for this distribution


App-RL

 view release on metacpan or  search on metacpan

t/NC_007942.gff  view on Meta::CPAN

NC_007942	GenBank	CDS	68190	68303	.	.	1	ID=GlmaCp044;Dbxref=GeneID:3989256;Name=rps12;codon_start=1;locus_tag=GlmaCp044;product=ribosomal protein S12;protein_id=YP_538788.1;trans_splicing=_no_value;transl_table=11;translation=length.123
NC_007942	GenBank	CDS	137863	138094	.	.	1	ID=GlmaCp044;Dbxref=GeneID:3989256;Name=rps12;codon_start=1;locus_tag=GlmaCp044;product=ribosomal protein S12;protein_id=YP_538788.1;trans_splicing=_no_value;transl_table=11;translation=length.123
NC_007942	GenBank	CDS	138626	138651	.	.	1	ID=GlmaCp044;Dbxref=GeneID:3989256;Name=rps12;codon_start=1;locus_tag=GlmaCp044;product=ribosomal protein S12;protein_id=YP_538788.1;trans_splicing=_no_value;transl_table=11;translation=length.123
NC_007942	GenBank	gene	68190	68303	.	.	1	ID=GlmaCp044.gene;Alias=GlmaCp044;Dbxref=GeneID:3989256;Name=rps12;locus_tag=GlmaCp044;trans_splicing=_no_value
NC_007942	GenBank	gene	137863	138651	.	.	1	ID=GlmaCp044.gene;Alias=GlmaCp044;Dbxref=GeneID:3989256;Name=rps12;locus_tag=GlmaCp044;trans_splicing=_no_value
NC_007942	GenBank	CDS	68517	68744	.	-	1	ID=GlmaCp046;Dbxref=GeneID:3989322;Name=clpP;codon_start=1;locus_tag=GlmaCp046;product=ATP-dependent Clp protease proteolytic subunit;protein_id=YP_538790.1;transl_table=11;translation=length.196
NC_007942	GenBank	CDS	69519	69810	.	-	1	ID=GlmaCp046;Dbxref=GeneID:3989322;Name=clpP;codon_start=1;locus_tag=GlmaCp046;product=ATP-dependent Clp protease proteolytic subunit;protein_id=YP_538790.1;transl_table=11;translation=length.196
NC_007942	GenBank	CDS	70523	70593	.	-	1	ID=GlmaCp046;Dbxref=GeneID:3989322;Name=clpP;codon_start=1;locus_tag=GlmaCp046;product=ATP-dependent Clp protease proteolytic subunit;protein_id=YP_538790.1;transl_table=11;translation=length.196
NC_007942	GenBank	gene	68517	70593	.	-	1	ID=GlmaCp046.gene;Alias=GlmaCp046;Dbxref=GeneID:3989322;Name=clpP;locus_tag=GlmaCp046
NC_007942	GenBank	CDS	71019	72545	.	+	1	ID=GlmaCp047;Dbxref=GeneID:3989323;Name=psbB;Note=photosystem II P680 chlorophyll A apoprotein%3B PSII 47 kDa protein;codon_start=1;locus_tag=GlmaCp047;product=photosystem II 47 kDa protein;protein_id=YP_538791...
NC_007942	GenBank	gene	71019	72545	.	+	1	ID=GlmaCp047.gene;Alias=GlmaCp047;Dbxref=GeneID:3989323;Name=psbB;locus_tag=GlmaCp047
NC_007942	GenBank	CDS	72712	72816	.	+	1	ID=GlmaCp048;Dbxref=GeneID:3989324;Name=psbT;codon_start=1;locus_tag=GlmaCp048;product=photosystem II protein T;protein_id=YP_538792.1;transl_table=11;translation=length.34
NC_007942	GenBank	gene	72712	72816	.	+	1	ID=GlmaCp048.gene;Alias=GlmaCp048;Dbxref=GeneID:3989324;Name=psbT;locus_tag=GlmaCp048

 view all matches for this distribution


App-Rcsync

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

bin/rcsync
dist.ini
lib/App/Rcsync.pm
t/00-compile.t
t/01-basic.t
t/release-eol.t
t/release-no-tabs.t
t/release-pod-syntax.t

 view all matches for this distribution


App-RecordStream

 view release on metacpan or  search on metacpan

lib/App/RecordStream/Operation/fromcsv.pm  view on Meta::CPAN

  die "Delimiter must be a single character\n\n"
    unless length $delim == 1;

  my $csv_args = {
    binary      => 1,
    eol         => $/,
    sep_char    => $delim,
    escape_char => $escape,

    # Text::CSV wants undef, but it's easier to pass the empty string at the shell.
    quote_char  => ($quote eq '' ? undef : $quote),

 view all matches for this distribution


App-RegexFileUtils

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

t/recp.t
t/reln.t
t/remv.t
t/rerm.t
t/retouch.t
xt/author/eol.t
xt/author/no_tabs.t
xt/author/pod.t
xt/author/pod_coverage.t
xt/author/pod_spelling_common.t
xt/author/pod_spelling_system.t

 view all matches for this distribution


App-RouterColorizer

 view release on metacpan or  search on metacpan

lib/App/RouterColorizer.pm  view on Meta::CPAN

    }
    return $output;
}

sub _parse_line ( $self, $text ) {
    my ( $line, $eol ) = $text =~ m/([^\n]*)(\n?)/;

    # We want to strip out the control characters at the start of the
    # line. This is kind of black magic...
    my $preamble = '';
    if ( $line =~ s/^ ( .* (?<! \x1b \[23m) \x1b (?: \[K | M)) //sxx ) {

lib/App/RouterColorizer.pm  view on Meta::CPAN

    $line =~ s/ (
                    (?<! [:\.0-9]) (?<! \e \[) (?<! \e \[\?)
                    [0-9]+ (?! [:0-9])
                ) /$self->_numerify($1)/egxx;

    return "$preamble$line$trailer$eol";
}

sub _parse_line_arista ( $self, $line ) {
    #
    # Arista & Cisco

 view all matches for this distribution


App-SVG-Graph

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

bin/svg-graph
dist.ini
lib/App/SVG/Graph.pm
t/00-compile.t
weaver.ini
xt/author/eol.t
xt/author/no-tabs.t
xt/author/pod-coverage.t
xt/author/pod-syntax.t
xt/author/tidyall.t
xt/release/cpan-changes.t

 view all matches for this distribution


App-Scaffolder-HTML

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

t/00-compile.t
t/000-report-versions-tiny.t
t/app.scaffolder.command.html.t
t/app.scaffolder.h-t-m-l.t
t/author-critic.t
t/author-test-eol.t
t/lib/App/Scaffolder/CommandTest/htmlTest.pm
t/lib/App/Scaffolder/HTMLTest.pm
t/release-cpan-changes.t
t/release-distmeta.t
t/release-pod-coverage.t

 view all matches for this distribution


App-Scaffolder-Puppet

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

t/app.scaffolder.command.puppetclass.t
t/app.scaffolder.command.puppetmodule.t
t/app.scaffolder.puppet.command.t
t/app.scaffolder.puppet.t
t/author-critic.t
t/author-eol.t
t/author-pod-coverage.t
t/author-pod-syntax.t
t/lib/App/Scaffolder/CommandTest/puppetclassTest.pm
t/lib/App/Scaffolder/CommandTest/puppetmoduleTest.pm
t/lib/App/Scaffolder/Puppet/CommandTest.pm

 view all matches for this distribution


App-Scaffolder

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

t/000-report-versions-tiny.t
t/app.scaffolder.command.t
t/app.scaffolder.t
t/app.scaffolder.template.t
t/author-critic.t
t/author-test-eol.t
t/lib/App/Scaffolder/Command/dummy.pm
t/lib/App/Scaffolder/CommandTest.pm
t/lib/App/Scaffolder/TemplateTest.pm
t/lib/App/ScaffolderTest.pm
t/release-cpan-changes.t

 view all matches for this distribution


App-SeismicUnixGui

 view release on metacpan or  search on metacpan

lib/App/SeismicUnixGui/big_streams/Synseis.pl  view on Meta::CPAN

	3B) sources that need to be resampled at a finer sampling rate

 For each option several parameters must be turned off and others turned
 on.  At present this program works using an MCS source wavelet with
 a 2ms sampling interval taken from EW Line 1027 at CDP 1377 1.106-1.166ms
 (1027.source) found in /projects/projects5/Geol4068/Synseis_class/sources
 Be careful with the units as SUnix uses microseconds and you may
 like to think in terms of milliseconds or just seconds!

 ---------------- uncomment before next line if using resampled source
  OTHER OPTIONAL SOURCES with DIFFERENT (!!!) sampling intervals

lib/App/SeismicUnixGui/big_streams/Synseis.pl  view on Meta::CPAN

 -X0$xstart4resampling_source \
-S$input_source_filename

 --------------- uncomment below this line if using Ricker --------
 Ricker_endtime=0.15     s
 Ricker_file=$path2/Geol4068/users/$1/modeling/output/ricker.out
 Ricker_frequency=40.    Hz
 -AF$Ricker_frequency \
 -AE$Ricker_endtime \
 -Ao$Ricker_file 
 -----------------------------------------------------------------  

 view all matches for this distribution


App-Sky

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

t/config-validate.t
t/data/sample-configs/shlomif1/config.yaml
t/manager.t
t/module.t
weaver.ini
xt/author/eol.t
xt/author/no-tabs.t
xt/author/pod-coverage.t
xt/author/pod-syntax.t
xt/author/tidyall.t
xt/release/cpan-changes.t

 view all matches for this distribution


App-Software-License

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

t/load.t
t/options.t
t/zzz-check-breaks.t
xt/author/00-compile.t
xt/author/clean-namespaces.t
xt/author/eol.t
xt/author/kwalitee.t
xt/author/mojibake.t
xt/author/no-tabs.t
xt/author/pod-coverage.t
xt/author/pod-no404s.t

 view all matches for this distribution


App-SpeedTest

 view release on metacpan or  search on metacpan

ChangeLog  view on Meta::CPAN

    * Provide cpanfile
    * Add help and options to examples/speedtest-graph.pl
    * Fix warning when using --no-upload or --no-download (issue#13)

0.21	2019-03-21
    * Add --csv-eol-unix

0.20	2019-01-01
    * Versions
    * It's 2017
    * Show a ranked summary of the tries with --try

 view all matches for this distribution


App-Spoor

 view release on metacpan or  search on metacpan

lib/App/Spoor/OutputFormatter.pm  view on Meta::CPAN

sub __print_reports {
  my $records = shift;
  my $output_handle = shift // *STDOUT;
  my @transformed_record;
  my @headers = ('id', 'event time', 'host', 'event type', 'mailbox address');
  my $csv = Text::CSV->new({ eol => $/ });

  $csv->print($output_handle, \@headers);
  foreach my $record_hash (@{$records}) {
    @transformed_record = (
      $record_hash->{id},

lib/App/Spoor/OutputFormatter.pm  view on Meta::CPAN

sub __print_mailbox_events {
  my $records = shift;
  my $output_handle = shift // *STDOUT;
  my @transformed_record;
  my @headers = ('id', 'event time', 'host', 'event type', 'mailbox address', 'ip');
  my $csv = Text::CSV->new({ eol => $/ });

  $csv->print($output_handle, \@headers);
  foreach my $record_hash (@{$records}) {
    @transformed_record = (
      $record_hash->{id},

 view all matches for this distribution


App-SpreadRevolutionaryDate

 view release on metacpan or  search on metacpan

lib/App/SpreadRevolutionaryDate/MsgMaker/RevolutionaryDate/Locale/en.pm  view on Meta::CPAN

      'winnowing basket' => 'Winnowing',
      'iron'             => 'Iron_(material)',
      'mercury'          => 'Mercury_(element)',
    },
    5 => {
      'spurge laurel'     => 'Daphne_laureola',
      "butcher's broom"   => 'Ruscus_aculeatus',
      'laurustinus'       => 'Viburnum_tinus',
      'tinder polypore'   => 'Fomes_fomentarius',
      'mezereon'          => 'Daphne_mezereum',
      'poplar tree'       => 'Populus',

 view all matches for this distribution


App-Sqitch

 view release on metacpan or  search on metacpan

lib/App/Sqitch/Plan.pm  view on Meta::CPAN

    (?![$punct])                   # first character isn't punctuation
    (?:                            # start non-capturing group, repeated once or more ...
       (?!                         #     negative look ahead for...
           [~/=%^\[\]]             #         symbolic reference punctuation
           [[:digit:]]+            #         digits
           (?:$|[[:blank:]])       #         eol or blank
       )                           #     ...
       [^[:blank:]:@#\\]           #     match a valid character
    )+                             # ... end non-capturing group
    (?<![$punct])\b                # last character isn't punctuation
}x;

lib/App/Sqitch/Plan.pm  view on Meta::CPAN


Here is the EBNF Grammar for the plan file:

  plan-file    = { <pragma> | <change-line> | <tag-line> | <note-line> | <blank-line> }* ;

  blank-line   = [ <blanks> ] <eol>;
  note-line    = <note> ;
  change-line  = <name> [ "[" { <requires> | <conflicts> } "]" ] ( <eol> | <note> ) ;
  tag-line     = <tag> ( <eol> | <note> ) ;
  pragma       = "%" [ <blanks> ] <name> [ <blanks> ] = [ <blanks> ] <value> ( <eol> | <note> ) ;

  tag          = "@" <name> ;
  requires     = <name> ;
  conflicts    = "!" <name> ;
  name         = <non-punct> [ [ ? non-blank and not "@", ":", or "#" characters ? ] <non-punct> ] ;
  non-punct    = ? non-punctuation, non-blank character ? ;
  value        = ? non-EOL or "#" characters ?

  note         = [ <blanks> ] "#" [ <string> ] <EOL> ;
  eol          = [ <blanks> ] <EOL> ;

  blanks       = ? blank characters ? ;
  string       = ? non-EOL characters ? ;

And written as regular expressions:

  my $eol          = qr/[[:blank:]]*$/
  my $note         = qr/(?:[[:blank:]]+)?[#].+$/;
  my $punct        = q{-!"#$%&'()*+,./:;<=>?@[\\]^`{|}~};
  my $name         = qr/[^$punct[:blank:]](?:(?:[^[:space:]:#@]+)?[^$punct[:blank:]])?/;
  my $tag          = qr/[@]$name/;
  my $requires     = qr/$name/;
  my conflicts     = qr/[!]$name/;
  my $tag_line     = qr/^$tag(?:$note|$eol)/;
  my $change_line  = qr/^$name(?:[[](?:$requires|$conflicts)+[]])?(?:$note|$eol)/;
  my $note_line    = qr/^$note/;
  my $pragma       = qr/^][[:blank:]]*[%][[:blank:]]*$name[[:blank:]]*=[[:blank:]].+?(?:$note|$eol)$/;
  my $blank_line   = qr/^$eol/;
  my $plan         = qr/(?:$pragma|$change_line|$tag_line|$note_line|$blank_line)+/ms;

=head1 See Also

=over

 view all matches for this distribution


( run in 1.993 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )