if @params[$i+1] ~~ m:perl5 {:$} {
@params[$i] ~~ s:perl5 {:$}{,};
}
}
}
my $param_list = @params.join(" ");
$param_list ~~ s:perl5 {,$}{}; # rem
te '&main::zz'
$s ~~ s:perl5 /^"(.*)"$/$0/;
$s ~~ s:perl5 {\&(.+fix:)([^:].*)}{&$0:<$1>};
# XXX fix corner cases like 'infix:<:>' and '&main::infix:<aaa>'
$s ~~ s:perl5 {(fix::<)(.*?
)>$}{fix:<$1>};
$s ~~ s:perl5 {fix::$}{fix:<:>};
$s
}
sub emit_Int ( $s ) { $s }
sub emit_Str ( $s ) { $s }
sub emit_Rat ( $a, $b ) { "($a / $b)" }
sub emit_parameter(
$name, $is_i
if @params[$i+1] ~~ m:perl5 {:$} {
@params[$i] ~~ s:perl5 {:$}{,};
}
}
}
my $param_list = @params.join(" ");
$param_list ~~ s:perl5 {,$}{}; # rem
te '&main::zz'
$s ~~ s:perl5 /^"(.*)"$/$0/;
$s ~~ s:perl5 {\&(.+fix:)([^:].*)}{&$0:<$1>};
# XXX fix corner cases like 'infix:<:>' and '&main::infix:<aaa>'
$s ~~ s:perl5 {(fix::<)(.*?
)>$}{fix:<$1>};
$s ~~ s:perl5 {fix::$}{fix:<:>};
$s
}
sub emit_Int ( $s ) { $s }
sub emit_Str ( $s ) { $s }
sub emit_Rat ( $a, $b ) { "$a $b / " }
sub emit_parameter(
$name, $is_i
my $file = '';
if ($nofile) {
$directory = $path;
}
else {
$path ~~ m:P5"^((?:.*/(?:\.\.?\Z(?!\n))?)?)([^/]*)";
$directory = ~$0;
$file = ~$1;
f before it can descend to $path_directory. So,
# replace all names with $parentDir
$base ~~ s:P5:g"[^/]+"..";
# Glue the two together, using a separator if necessary, and preventing an
ath = $_path;
$path ~~ s:P5:g"/+"/"; # xx////xx -> xx/xx
$path ~~ s:P5:g"(/\.)+(/|\Z(?!\n))"/"; # xx/././xx -> xx/xx
$path ~~ s:P5:g"^(\./)+"" unless
if @params[$i+1] ~~ m:perl5 {:$} {
@params[$i] ~~ s:perl5 {:$}{,};
}
}
}
my $param_list = @params.join(" ");
$param_list ~~ s:perl5 {,$}{}; # rem
ote '&main::zz'
$s ~~ s:perl5/^"(.*)"$/$0/;
$s ~~ s:perl5 {\&(.+fix:)([^:].*)}{&$0:<$1>};
# XXX fix corner cases like 'infix:<:>' and '&main::infix:<aaa>'
$s ~~ s:perl5 {(fix::<)(.*?
)>$}{fix:<$1>};
$s ~~ s:perl5 {fix::$}{fix:<:>};
$s
}
sub emit_Int ( $s ) { $s }
sub emit_Str ( $s ) { $s }
sub emit_Rat ( $a, $b ) { "$a $b / " }
sub emit_parameter(
$name, $is_i
" ~~ /<nam>/;
say "match name" if "abc" ~~ /<nam>/;
say "match block" if '{ xxx = a123 }' ~~ /<block>/;
say "match parenthesis" if '(a b c)' ~~ /<parenthesis>/;
say "match square" if '[a b c]' ~~ /
<square>/;
say "match str" if '"abc"' ~~ /<str>/;
my $pil2 = q/
PIL_Environment
{ pilMain = (PStmts {pStmt = PNoop, pStmts = PStmts {pStmt = PPos
{pPos = (MkPos "-e" 1 1 1 12), pExp = App
bPrim,
pSubParams = [], pSubLValue = False, pSubIsMulti = False, pSubBody =
PNil}])
}
/;
say $pil2;
my $b = $pil2 ~~ m/<pil2>/;
say $b.perl;
my $c = $pil2 ~~ / <nam> <spc> \{ /;
say $c.perl;
ssoc named unary operators
nonassoc +< +> +<= +>= lt gt le ge
nonassoc == != <+> eq ne cmp ~~
left ^&^
left ^|^ ^^^
left &&
left || //
nonassoc ..
right ?:
left , =
han the right
argument.
X<cmp>
Binary "~~" does a smart match between its arguments. Smart matching
is described in L<perlsyn/"Smart matching in detail">.
X<~~>
"lt", "le", "ge", "gt" and "cmp" use
once SKIP {use feature 'state'; state $foo = 42;}
say SKIP {use feature 'say'; say "foo";}
smartmatch $x ~~ $y
aeach SKIP each @t
akeys SKIP keys @t
avalues SKIP values @t
custom SKIP (no way)
t
constructions involving state variables.
=head2 Implement $value ~~ 0 .. $range
It would be nice to extend the syntax of the C<~~> operator to also
understand numeric (and maybe alphanumeric) rang
e tokeniser and pads.
=item state variable initialization in list context
=item Implement $value ~~ 0 .. $range
=item A does() built-in
=item Tied filehandles and write() don't mix
=item Attach/d
, $force) = (shift(@_), shift(@_));
my $val = __PACKAGE__->SUPER::new(+VALUE);
given($force // determine_type($arg))
{
when(+ARRAY)
{
my $data = $val-
eturn $content if defined($content) && length($content);
my $val = $node->firstChild();
given($val->nodeName())
{
when(+STRUCT)
{
my $struct = {};
{
return $type{$self};
}
}
sub determine_type($)
{
my $arg = shift(@_);
given($arg)
{
when(m@^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$@)
board {
my ( $self, $event ) = @_;
my $choice = $event->GetKeyCode();
given ( $choice ) {
when ( $_ == WXK_NUMPAD7 ) { $choice = 0 }
when ( $_ == WXK_NUMP
$self->{multi_answer_sizer} ) if ( $self->{curr_question}{answer_type} eq 'multi' );
given ($self->{curr_question}{answer_type}) {
when ( "text" ) { $self->load_text_answer; }
c les
opérateurs unaires suivants.
=item Runaway format
(F) Votre format contient la séquence ~~
repeter-jusqu'à-la-sequence-de-blanc, mais cela produit 200 lignes au
moins, et la 200è ligne ap
'^' . '<' x $cols . "\n"
. '$entry' . "\n"
. "\t^" . "<" x ($cols-8) . "~~\n"
. '$entry' . "\n"
. ".\n";
print $format if $Debugging;
eval
<<<<<<<<<<<<<<<<<<<<<<<~~
$entry
.
Voici un petit programme qui fait a peu près la même chose que S<fmt(1) :>
format =
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~~
$_
.
$/ = '';
wh
e structure of the directory tree (including symbolic
links to directories) you might traverse a given (physical) directory
more than once (only if C<follow_fast> is in effect).
Furthermore, deleting
accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\
and B<troff> don't either).
=item Invalid quote specification "%s"
(F) The quote specification given (the quotes option to the constructor) was
invalid. A quote specification must be one, two, or f
given could not be opened.
=item Invalid quote specification "%s"
(F) The quote specification given (the quotes option to the constructor) was
invalid. A quote specification must be one, two, or f
nes to list (a windowful).
$incr = $window - 1;
# Set the start to the argument given (if there was one).
$start = $1 if $1;
# Back up by the context amount.
and C<D>.
=item hangul_terminator
-- see 7.1.4 Trailing Weights, UTS #10.
If a true value is given (non-zero but should be positive),
it will be added as a terminator primary weight to the end of
gives the token index of each token/non-terminal; then use this to
# create yy_type_tab.
#
# ie given (in perly.y),
#
# %token <opval> A
# %token <ival> B
# %type <pval> C
# %type <opval>
>{'id'}};
$kernel->post($array->[0], $array->[1], $node);
return;
}
}
given($name)
{
when ('stream:stream')
{
$self->{'sid'} = $attrs->{'
s(), +PCJ_AUTHFAIL);
}
when ('stream:features')
{
given(my $clist = $node->getChildrenHash())
{
when ('starttls')
BJECT, ARG0];
my $attr = $node->getAttribute('type');
my $config = $heap->config();
given($attr)
{
when(+IQ_RESULT)
{
if($self->{'STARTSESSION'})