96 lines
1.8 KiB
Perl
96 lines
1.8 KiB
Perl
#!/usr/bin/perl -w
|
|
# This is a pseudo Perl file to test Kate's Perl syntax highlighting.
|
|
# TODO: this is incomplete, add more syntax examples!
|
|
|
|
sub prg($)
|
|
{
|
|
my $var = shift;
|
|
|
|
$var =~ s/bla/foo/igs;
|
|
$var =~ s!bla!foo!igs;
|
|
$var =~ s#bla#foo#igs;
|
|
$var =~ tr/a-z/A-Z/;
|
|
($match) = ($var =~ m/(.*?)/igs);
|
|
|
|
$test = 2/453453.21;
|
|
$test /= 2;
|
|
|
|
print qq~d fsd fsdf sdfl sd~
|
|
|
|
$" = '/';
|
|
|
|
$foo = <<__EOF;
|
|
d ahfdklf klsdfl sdf sd
|
|
fsd sdf sdfsdlkf sd
|
|
__EOF
|
|
|
|
$x = "dasds";
|
|
|
|
next if( $match eq "two" );
|
|
next if( $match =~ /go/i );
|
|
|
|
@array = (1,2,3); # a comment
|
|
# Test qw versions with special ending characters
|
|
@array = qw(apple foo bar);
|
|
@array = qw[apple foo bar];
|
|
@array = qw{apple foo bar};
|
|
@array = qw<apple foo bar>;
|
|
@array = qw(
|
|
multi
|
|
line
|
|
test
|
|
);
|
|
# Test qw with non special ending characters;
|
|
@array = qw/apple foo bar/;
|
|
@array = qw|apple foo bar|;
|
|
@array = qw@apple foo bar@;
|
|
@array = qw!apple foo bar!;
|
|
@array = qw"apple foo bar";
|
|
@array = qw'apple foo bar';
|
|
push(@array, 4);
|
|
%hash = (red => 'rot',
|
|
blue => 'blau');
|
|
print keys(%hash);
|
|
}
|
|
|
|
sub blah {
|
|
my $str = << ' EOS';
|
|
this is my string
|
|
and it's continuation
|
|
EOS
|
|
|
|
$str = "hello world";
|
|
|
|
$str = << " EOS";
|
|
this is my string
|
|
and it's continuation
|
|
EOS
|
|
}
|
|
|
|
&blah;
|
|
prg("test");
|
|
|
|
# Bracket closures in RegExp patterns (bug #364866)
|
|
qr{ ${var} aa{aa{a}a} aa*b?};
|
|
qr(aa(a(a(a(b|c)a)a)a)aa*b?);
|
|
s{aaa {aaa} a \x{A2} *b?}{aa};
|
|
s(aa(a(a(a(b|c)a)a)a)aa)(aa);
|
|
|
|
# Strings as scalar references (bug #348765)
|
|
$x = \'Reference of a String';
|
|
$y = \"Reference of a String";
|
|
|
|
# Variables that start with underscore (bug #355300)
|
|
$_variable
|
|
$_ # Reserved var.
|
|
|
|
for my $x ($hash->{arr}->@*) {
|
|
for my $k (keys $k->%*) {
|
|
...
|
|
}
|
|
}
|
|
|
|
# Highlight correctly operator // (bug #407327)
|
|
$x = ns // "";
|
|
print $x;
|