view release on metacpan or search on metacpan
docs/summaries/2006/03-31.pod view on Meta::CPAN
why that was the case. Larry Wall noted that to date, nobody wanted it.
=head3 L<where will we die to?|http://groups.google.com/group/perl.perl6.language/browse_frm/thread/7607e99b31ede3a3/cac325353528d842#cac325353528d842>
Yuval Kogman brought up a Catalyst problem debugging the eventual
location of a die within a cascade of evals. He suggested that Perl
6 should make it easier to trace an exception. Larry Wall asked how
this could be done without impacting performance, and Yuval clarified
his request.
=head3 L<UNIX commands: chmod|http://groups.google.com/group/perl.perl6.language/browse_frm/thread/cac2611cbfad8517/5efb19535e64cbd5#5efb19535e64cbd5>
view all matches for this distribution
view release on metacpan or search on metacpan
doc/writing-converters.pp view on Meta::CPAN
, to store this file as \C<style.cfg> and to invoke \C<pp2html> as in
> pp2html \RED<@style.cfg> ...
Option files can be nested and cascaded, and you can use as many of them as you want. It is also possible to use \I<default> option files which do not need to be specified when calling the script but are resolved automatically. They make it very hand...
To provide option file usage, all you have to do is to integrate the following statement.
\GREEN<# resolve option files>
argvFile(default=>1, home=>1);
view all matches for this distribution
view release on metacpan or search on metacpan
doc/parser-active-contents.pp view on Meta::CPAN
condition | A paragraph type to control inclusion of all subsequent source parts before the next condition. | \C<\B<?> \$PerlPoint-\>{targetLanguage} eq "HTML">
\I<tag> condition | A special tag option available for all tags which accept options which flags whether the tag should take effect or not. If Active Contents is \REF{name=Security type=linked}<disabled>, the condition defaults to "false". | \C<\\IM...
embedded Perl | Perl code embedded into \C<\\EMBED> and \C<\\END_EMBED> tags, marked as Perl by tag option \C<lang> set to \C<"perl">. The code is expected to return a string which will be interpreted as \B<PerlPoint>. | \C<This document was gene...
included Perl | Perl code read from a file via an \C<\\INCLUDE> tag, marked as Perl by tag option \C<type> set to \C<"perl">. File contents is evaluated like embedded Perl. | \C<\B<\\INCLUDE{type=perl file="included.pl"}>>
input filters | A special option to \C<\\EMBED> and \C<\\INCLUDE> tags which allows to preprocess embedded code or included files before they are furtherly processed. The filter code may be passed directly or refer to functions defined in \I<embe...
paragraph filters | Calls to functions declared in \I<embedded Perl> (see above) used to modify a complete paragraph and return it for reparsing. Filters are applied by preceeding the target paragraph with the filter call enclosed in \C<\|\|> pairs. ...
As an introduction example of the active contents feature,
here is a report about this document: it was generated
at \EMBED{lang=perl}my @t=(localtime)[3, 4, 5]; sprintf("%d.%d.%d", $t[0], $t[1]+1, $t[2]+1900); \END_EMBED.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Perlwikipedia.pm view on Meta::CPAN
$res = $self->{api}->api( $hash );
return $res;
}
=item protect($page, $reason, $editlvl, $movelvl, $time, $cascade)
Protects (or unprotects) the page. $editlvl and $movelvl may be '', 'autoconfirmed', or 'sysop'. $cascade is true/false.
=cut
sub protect {
my $self = shift;
my $page = shift;
my $reason = shift;
my $editlvl = shift || 'all';
my $movelvl = shift || 'all';
my $time = shift || 'infinite';
my $cascade = shift;
if ($cascade and ($editlvl ne 'sysop' or $movelvl ne 'sysop')) {
carp "Can't set cascading unless both editlvl and movelvl are sysop."
}
my $res = $self->{api}->api( {
action=>'query',
titles=>$page,
lib/Perlwikipedia.pm view on Meta::CPAN
title=>$page,
token=>$edittoken,
reason=>$reason,
protections=>"edit=$editlvl|move=$movelvl",
expiry=>$time };
$hash->{'cascade'}=$cascade if ($cascade);
$res = $self->{api}->api( $hash );
return $res;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Persistence/Manual/Relationship.pm view on Meta::CPAN
entity 'dept';
column deptno => has('$.id');
column dname => has('$.name');
to_one 'address' => (
attribute => has ('$.address', associated_class => 'Address'),
cascade => ALL,
fetch_method => EAGER,
);
=item many_to_one
lib/Persistence/Manual/Relationship.pm view on Meta::CPAN
column empno=> has('$.id');
column ename => has('$.name');
column job => has '$.job';
to_one 'dept' => (
attribute => has ('$.dept', associated_class => 'Department'),
cascade => ALL,
fetch_method => EAGER,
);
package Department;
use Abstract::Meta::Class ':all';
lib/Persistence/Manual/Relationship.pm view on Meta::CPAN
Note: Bidirectional relationship in this case requires reference on Dept object:
one_to_many 'emp' => (
attribute => has('@.employees' => (associated_class => 'Employee')),
fetch_method => EAGER,
cascade => ALL,
);
=item one_to_many
lib/Persistence/Manual/Relationship.pm view on Meta::CPAN
column deptno => has('$.id');
column dname => has('$.name');
one_to_many 'emp' => (
attribute => has('@.employees' => (associated_class => 'Employee')),
fetch_method => EAGER,
cascade => ALL,
);
package Employee;
use Abstract::Meta::Class ':all';
use Persistence::ORM ':all';
lib/Persistence/Manual/Relationship.pm view on Meta::CPAN
Note: Bidirectional relationship in this case requires reference on Employee object:
to_one 'dept' => (
attribute => has ('$.dept', associated_class => 'Department'),
cascade => ALL,
fetch_method => EAGER,
);
=item many_to_many
lib/Persistence/Manual/Relationship.pm view on Meta::CPAN
many_to_many 'project' => (
attribute => has('%.projects' => (associated_class => 'Project'), index_by => 'name'),
join_entity_name => 'emp_project',
fetch_method => LAZY,
cascade => ALL,
);
package Project;
use Abstract::Meta::Class ':all';
use Persistence::ORM ':all';
view all matches for this distribution
view release on metacpan or search on metacpan
share/static/jquery-1.7.2.js view on Meta::CPAN
if ( elem.style ) {
display = elem.style.display;
// Reset the inline display of this element to learn if it is
// being hidden by cascaded rules or not
if ( !jQuery._data(elem, "olddisplay") && display === "none" ) {
display = elem.style.display = "";
}
// Set elements which have been overridden with display: none
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Pinto/Remote/SelfContained/App.pm view on Meta::CPAN
encoding => 'gzip',
}];
},
opt_spec => [
[ 'author=s' => 'The ID of the archive author' ],
[ 'cascade' => 'Always pick latest upstream package' ],
[ 'diff-style=s' => 'Set style of diff reports' ],
[ 'dry-run' => 'Do not commit any changes' ],
[ 'message|m=s' => 'Message to describe the change' ],
[ 'no-fail' => 'Do not fail when there is an error' ],
[ 'no-index|x=s@' => 'Do not index matching packages' ],
lib/Pinto/Remote/SelfContained/App.pm view on Meta::CPAN
$opts->{cpanm_options}{'local-lib'} = $_ for grep defined, delete $opts->{local_lib};
$opts->{cpanm_options}{'local-lib-contained'} = $_ for grep defined, delete $opts->{local_lib_contained};
return targets => [@_];
},
opt_spec => [
[ 'cascade' => 'Always pick latest upstream package' ],
[ 'cpanm-exe|cpanm=s' => 'Path to the cpanm executable' ],
[ 'cpanm-options|o=s@' => 'name=value pairs of cpanm options' ],
[ 'diff-style=s' => 'Set style of diff reports' ],
[ 'local-lib|l=s' => 'install into a local lib directory' ],
[ 'local-lib-contained|L=s' => 'install into a contained local lib directory' ],
lib/Pinto/Remote/SelfContained/App.pm view on Meta::CPAN
pull => {
summary => 'pull archives from upstream repositories',
usage_desc => '%c %o TARGET...',
args => 'targets*',
opt_spec => [
[ 'cascade' => 'Always pick latest upstream package' ],
[ 'diff-style=s' => 'Set style of diff reports' ],
[ 'dry-run' => 'Do not commit any changes' ],
[ 'message|m=s' => 'Message to describe the change' ],
[ 'no-fail' => 'Do not fail when there is an error' ],
[ 'recurse!' => 'Recursively pull prereqs (negatable)' ],
lib/Pinto/Remote/SelfContained/App.pm view on Meta::CPAN
summary => 'update packages to latest versions',
usage_desc => '%c %o TARGET...',
args => 'targets*',
opt_spec => [
[ 'all' => 'Update all packages in the stack' ],
[ 'cascade' => 'Always pick latest upstream package' ],
[ 'diff-style=s' => 'Set style of diff reports' ],
[ 'dry-run' => 'Do not commit any changes' ],
[ 'force' => 'Force update, even if pinned' ],
[ 'message|m=s' => 'Message to describe the change' ],
[ 'no-fail' => 'Do not fail when there is an error' ],
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Pinto/Command/add.pm view on Meta::CPAN
sub opt_spec {
my ( $self, $app ) = @_;
return (
[ 'author=s' => 'The ID of the archive author' ],
[ 'cascade' => 'Always pick latest upstream package' ],
[ 'dry-run' => 'Do not commit any changes' ],
[ 'message|m=s' => 'Message to describe the change' ],
[ 'no-fail' => 'Do not fail when there is an error' ],
[ 'no-index|x=s@' => 'Do not index matching packages' ],
[ 'recurse!' => 'Recursively pull prereqs (negatable)' ],
lib/App/Pinto/Command/add.pm view on Meta::CPAN
two ASCII letters followed by zero or more ASCII letters, digits, or
hyphens). Defaults to the C<user> attribute specified in your F<~/.pause>
configuration file if such file exists. Otherwise, defaults to your
current login username.
=item --cascade
!! THIS OPTION IS EXPERIMENTAL !!
When searching for a prerequisite package, always take the latest
satisfactory version of the package found amongst B<all> the upstream
view all matches for this distribution
view release on metacpan or search on metacpan
lib/PkgForge/Registry/Schema/Result/Builder.pm view on Meta::CPAN
__PACKAGE__->has_many(
'build_logs',
'PkgForge::Registry::Schema::Result::BuildLog',
{ 'foreign.builder' => 'self.name' },
{ cascade_copy => 0, cascade_delete => 0 },
);
1;
__END__
view all matches for this distribution
view release on metacpan or search on metacpan
* Build.PL.in: added missing build_requires and set the Test::More
minimum version
2010-12-11 07:48 squinney@INF.ED.AC.UK
* registry-wipe.txt: cascade everything
2010-12-11 07:45 squinney@INF.ED.AC.UK
* registry-wipe.txt: updated wipe list
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Plack/App/Directory/Markdown.pm view on Meta::CPAN
<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"></script>
<script>$(function(){$('pre > code').addClass('prettyprint');});</script>
</body>
@@ index.tx
: cascade base;
: override body -> {
<h1>Index of
: for process_path($path) -> $part {
/ <a href="<: $part.link :>"><: $part.name :></a>
: }
lib/Plack/App/Directory/Markdown.pm view on Meta::CPAN
: }
</ul>
: } # endblock body
@@ md.tx
: cascade base;
: override body -> {
<h1>
: for process_path($path) -> $part {
/ <a href="<: $part.link :>"><: $part.name :></a>
: }
view all matches for this distribution
view release on metacpan or search on metacpan
local/lib/perl5/PPI/Tokenizer.pm view on Meta::CPAN
delete $self->{line_length};
return 0;
}
# In the scan version, just set the cursor to the end
# of the line, and the rest should just cascade out.
$self->{line_cursor} = $self->{line_length};
return 0;
}
# Populate the appropriate variables
view all matches for this distribution
view release on metacpan or search on metacpan
share/js/jquery.js view on Meta::CPAN
values[ index ] = data_priv.get( elem, "olddisplay" );
display = elem.style.display;
if ( show ) {
// Reset the inline display of this element to learn if it is
// being hidden by cascaded rules or not
if ( !values[ index ] && display === "none" ) {
elem.style.display = "";
}
// Set elements which have been overridden with display: none
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Plack/Middleware/ConsoleLogger.pm view on Meta::CPAN
my @logs;
$env->{'psgix.logger'} = sub {
my $args = shift;
push @logs, $args;
# TODO cascade?
};
$self->response_cb($self->app->($env), sub {
my $res = shift;
view all matches for this distribution
view release on metacpan or search on metacpan
t/basic/index.html view on Meta::CPAN
: cascade 'wrapper.tx'
: override content -> {
<h1>Hello world</h1>
: }
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Plack/App/Cascade.pm view on Meta::CPAN
use Plack::App::Cascade;
use Plack::App::URLMap;
use Plack::App::File;
# Serve static files from multiple search paths
my $cascade = Plack::App::Cascade->new;
$cascade->add( Plack::App::File->new(root => "/www/example.com/foo")->to_app );
$cascade->add( Plack::App::File->new(root => "/www/example.com/bar")->to_app );
my $app = Plack::App::URLMap->new;
$app->map("/static", $cascade);
$app->to_app;
=head1 DESCRIPTION
Plack::App::Cascade is a Plack middleware component that compounds
view all matches for this distribution
view release on metacpan or search on metacpan
In case options should become standard, store them in a file C<.pod2pp> in your
home directory. To make settings valid for all users, store them in a C<.pod2pp>
file in the directory of C<pod2pp> itself. C<.pod2pp> files will be read automatically.
Option files can be nested and cascaded, see C<Getopt::ArgvFile> for further details.
=head1 NOTES
view all matches for this distribution
view release on metacpan or search on metacpan
Prima/MDI.pm view on Meta::CPAN
{
my @m = $_[0]-> mdis;
$m[0]-> arrange_icons if $m[0];
}
sub cascade
{
my @m = $_[0]-> mdis;
$m[0]-> cascade if $m[0];
}
sub tile
{
my @m = $_[0]-> mdis;
Prima/MDI.pm view on Meta::CPAN
$i++;
}
$_-> unlock for @mdis;
}
sub cascade
{
my $self = $_[0]-> owner;
my @mdis = grep {
(($_-> windowState != ws::Minimized) and $_-> tileable && $_-> clipOwner) ?
$_ :
Prima/MDI.pm view on Meta::CPAN
MDI stands for Multiple Document Interface, and is a Microsoft Windows user
interface, that consists of multiple non-toplevel windows belonging to an
application window. The module contains classes that provide similar
functionality; sub-window widgets realize a set of operations, close to those
of the real top-level windows, - iconize, maximize, cascade etc.
The basic classes required to use the MDI are C<Prima::MDIOwner> and
C<Prima::MDI>, which are, correspondingly, sub-window owner class and
sub-window class. C<Prima::MDIWindowOwner> is exactly the same as
C<Prima::MDIOwner> but is a C<Prima::Window> descendant: the both owner classes
Prima/MDI.pm view on Meta::CPAN
Selects restore button image in pressed state.
=item tileable BOOLEAN
Selects whether the window is allowed to participate in cascading and tiling
auto-arrangements, performed correspondingly by C<cascade> and C<tile> methods.
If 0, the window is never positioned automatically.
Default value: 1
=item titleHeight INTEGER
Prima/MDI.pm view on Meta::CPAN
=item arrange_icons
Arranges geometrically the minimized sibling MDI windows.
=item cascade
Arranges sibling MDI windows so they form a cascade-like structure: the lowest
window is expanded to the full owner window inferior rectangle, window next to
the lowest occupies the inferior rectangle of the lowest window, etc.
Only windows with C<tileable> property set to 1 are processed.
Prima/MDI.pm view on Meta::CPAN
=item arrange_icons
Same as C<Prima::MDI::arrange_icons>.
=item cascade
Same as C<Prima::MDI::cascade>.
=item tile
Same as C<Prima::MDI::tile>.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Prophet/Web/Menu.pm view on Meta::CPAN
absolute (does not start with a "/"), then is is treated as relative to it's
parent's url, and made absolute.
=head2 active [BOOLEAN]
Gets or sets if the menu item is marked as active. Setting this cascades to
all of the parents of the menu item.
=head2 child KEY [, PARAMHASH]
If only a I<KEY> is provided, returns the child with that I<KEY>.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Prty/Database/Connection.pm view on Meta::CPAN
if ($self->isOracle) {
my $stmt = $sql->dropTrigger($name);
return $self->sqlAtomic($stmt);
}
elsif ($self->isPostgreSQL) {
my $stmt = $sql->dropFunction($name.'_proc',-cascade=>1);
return $self->sqlAtomic($stmt);
}
$self->throw('Not implemented');
}
view all matches for this distribution
view release on metacpan or search on metacpan
misc/js/debug.js view on Meta::CPAN
var initialtab=[1,"sc1"]
function cascadedstyle(el,cssproperty,csspropertyNS){if(el.currentStyle)
return el.currentStyle[cssproperty]
else if(window.getComputedStyle){var elstyle=window.getComputedStyle(el,"")
return elstyle.getPropertyValue(csspropertyNS)}}
var previoustab=""
function expandcontent(cid,aobject){if(document.getElementById){highlighttab(aobject)
misc/js/debug.js view on Meta::CPAN
function detectSourceindex(aobject){for(i=0;i<tabobjlinks.length;i++){if(aobject==tabobjlinks[i]){tabsourceindex=i
break}}}
function do_onload(){var cookiename=(typeof persisttype!="undefined"&&persisttype=="sitewide")?"tabcontent":window.location.pathname
var cookiecheck=window.get_cookie&&get_cookie(cookiename).indexOf("|")!=-1
collecttablinks()
initTabcolor=cascadedstyle(tabobjlinks[1],"backgroundColor","background-color")
initTabpostcolor=cascadedstyle(tabobjlinks[0],"backgroundColor","background-color")
if(typeof enablepersistence!="undefined"&&enablepersistence&&cookiecheck){var cookieparse=get_cookie(cookiename).split("|")
var whichtab=cookieparse[0]
var tabcontentid=cookieparse[1]
expandcontent(tabcontentid,tabobjlinks[whichtab])}
else
view all matches for this distribution
view release on metacpan or search on metacpan
qtgui/examples/mainwindows/mdi/MainWindow.pm view on Meta::CPAN
this->{saveAsAct}->setEnabled($hasMdiChild);
this->{pasteAct}->setEnabled($hasMdiChild);
this->{closeAct}->setEnabled($hasMdiChild);
this->{closeAllAct}->setEnabled($hasMdiChild);
this->{tileAct}->setEnabled($hasMdiChild);
this->{cascadeAct}->setEnabled($hasMdiChild);
this->{nextAct}->setEnabled($hasMdiChild);
this->{previousAct}->setEnabled($hasMdiChild);
this->{separatorAct}->setVisible($hasMdiChild);
my $hasSelection = (this->activeMdiChild() &&
qtgui/examples/mainwindows/mdi/MainWindow.pm view on Meta::CPAN
this->{windowMenu}->clear();
this->{windowMenu}->addAction(this->{closeAct});
this->{windowMenu}->addAction(this->{closeAllAct});
this->{windowMenu}->addSeparator();
this->{windowMenu}->addAction(this->{tileAct});
this->{windowMenu}->addAction(this->{cascadeAct});
this->{windowMenu}->addSeparator();
this->{windowMenu}->addAction(this->{nextAct});
this->{windowMenu}->addAction(this->{previousAct});
this->{windowMenu}->addAction(this->{separatorAct});
qtgui/examples/mainwindows/mdi/MainWindow.pm view on Meta::CPAN
my $tileAct = Qt::Action("&Tile", this);
this->{tileAct} = $tileAct;
$tileAct->setStatusTip("Tile the windows");
this->connect($tileAct, SIGNAL 'triggered()', this->{mdiArea}, SLOT 'tileSubWindows()');
my $cascadeAct = Qt::Action("&Cascade", this);
this->{cascadeAct} = $cascadeAct;
$cascadeAct->setStatusTip("Cascade the windows");
this->connect($cascadeAct, SIGNAL 'triggered()', this->{mdiArea}, SLOT 'cascadeSubWindows()');
my $nextAct = Qt::Action("Ne&xt", this);
this->{nextAct} = $nextAct;
$nextAct->setStatusTip("Move the focus to the next window");
this->connect($nextAct, SIGNAL 'triggered()',
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Quiq/Database/Connection.pm view on Meta::CPAN
if ($self->isOracle) {
my $stmt = $sql->dropTrigger($name);
return $self->sqlAtomic($stmt);
}
elsif ($self->isPostgreSQL) {
my $stmt = $sql->dropFunction($name.'_proc()',-cascade=>1);
return $self->sqlAtomic($stmt);
}
$self->throw('Not implemented');
}
view all matches for this distribution
view release on metacpan or search on metacpan
and an SQL statement, if relevant, by including debug=1 in the URL.
=head1 TODO
Generate forms for interactive data definition.
Enforce referential integrity (cascade/block deletes).
* Enforce uniqueness for label columns.
* Add fancy display options that support automagic hyperlinking of
URLs and email addresses.
* denotes feature present in the original PHP/FI version.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/RDF/Flow.pm view on Meta::CPAN
use RDF::Flow::Pipeline;
use RDF::Flow::Cached;
use base 'Exporter';
our @EXPORT = qw(rdflow);
our @EXPORT_OK = qw(rdflow cached union cascade pipeline previous rdflow_uri);
our %EXPORT_TAGS = (
all => [qw(rdflow cached union cascade pipeline previous)] );
our $PREVIOUS = RDF::Flow::Source->new( sub { shift->{'rdflow.data'} } );
sub rdflow { RDF::Flow::Source->new(@_) }
sub union { RDF::Flow::Union->new( @_ ) }
sub cascade { RDF::Flow::Cascade->new( @_ ) }
sub pipeline { RDF::Flow::Pipeline->new( @_ ) }
sub cached { RDF::Flow::Cached->new( @_ ); }
sub previous { $RDF::Flow::PREVIOUS; }
lib/RDF/Flow.pm view on Meta::CPAN
=item C<cached>
Shortcut to create a new cached source with L<RDF::Flow::Cached>.
=item C<cascade>
Shortcut to create a new source cascade with L<RDF::Flow::Cascade>.
=item C<pipeline>
Shortcut to create a new source pipeline with L<RDF::Flow::Pipeline>.
view all matches for this distribution
view release on metacpan or search on metacpan
bin/serv1.pl view on Meta::CPAN
{
my $r_person = $q->param('r_person') or die "No node specified";
# my $model = $s->get_model(NS_LD.'#M1');
my $model = $s;
my $person = $model->get($r_person);
if( $person->delete_node_cascade() )
{
return "Deleted person";
}
else
{
view all matches for this distribution
view release on metacpan or search on metacpan
t/rdql-tests/rdf/dc.rdf view on Meta::CPAN
<dcterms:abstract xml:lang="en">carlos's test page.</dcterms:abstract>
</rdf:Description>
</rdf:li>
<rdf:li>
<rdf:Description rdf:about="http://testers.mkdoc.com/cascadenet-quiz/">
<dc:title xml:lang="en">Cascadenet Quiz</dc:title>
<dcterms:abstract xml:lang="en">A test page </dcterms:abstract>
</rdf:Description>
</rdf:li>
view all matches for this distribution
view release on metacpan or search on metacpan
examples/anticol_c.pl view on Meta::CPAN
# Enable field so more power consuming cards can power themselves up
nfc_configure($pdi, NDO_ACTIVATE_FIELD, 1);
my $cmd = pack("C", MU_REQA);
if (my $resp = transceive_bits($pdi, $cmd, 7)) {
$cmd = pack("C2", MU_SELECT1, 0x20); # ANTICOLLISION of cascade level 1
if ($resp = transceive_bytes($pdi, $cmd, 2)) {
my (@rb) = unpack("C".length($resp), $resp);
my $cuid = pack("C3", $rb[1], $rb[2], $rb[3]);
if ($rb[0] == 0x88) { # define a constant for 0x88
$cmd = pack("C9", MU_SELECT1, 0x70, @rb); # SELECT of cascade level 1
iso14443a_crc_append($cmd, 7);
if ($resp = transceive_bytes($pdi, $cmd, 9)) {
# we need to do cascade level 2
# first let's get the missing part of the uid
$cmd = pack("C2", MU_SELECT2, 0x20); # ANTICOLLISION of cascade level 2
if ($resp = transceive_bytes($pdi, $cmd, 2)) {
@rb = unpack("C".length($resp), $resp);
$cuid .= pack("C3", $rb[1], $rb[2], $rb[3]);
$cmd = pack("C9", MU_SELECT2, 0x70, @rb); # SELECT of cascade level 2
iso14443a_crc_append($cmd, 7);
if (transceive_bytes($pdi, $cmd, 9)) {
print "2 level cascade anticollision/selection passed for uid : ";
print_hex($cuid, 6);
} else {
warn "Select cascade level 2 failed";
}
} else {
warn "Anticollision cascade level 2 failed";
}
} else {
warn "Select cascade level 1 failed";
}
}
} else {
warn "Anticollision cascade level 1 failed";
}
} else {
warn "Device doesn't respond to REQA";
}
exit 0;
view all matches for this distribution
view release on metacpan or search on metacpan
etc/make_method view on Meta::CPAN
chomp $line;
# Skip blanks and comments
next if ($line =~ /^\s*(?:#.*)?$/);
# I'm using a horrendous if-else cascade to avoid moving the required
# version of Perl to 5.012 just for the "when" construct.
## no critic (ProhibitCascadingIfElse)
if ($line =~ /^name:\s+([\w.]+)$/i)
{
$attrs{name} = $1;
view all matches for this distribution