I: pbuilder: network access will be disabled during build I: Current time: Fri Nov 14 19:57:48 +14 2025 I: pbuilder-time-stamp: 1763099868 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: using eatmydata during job I: Copying source file I: copying [libppr-perl_0.001010-2.dsc] I: copying [./libppr-perl_0.001010.orig.tar.gz] I: copying [./libppr-perl_0.001010-2.debian.tar.xz] I: Extracting source gpgv: Signature made Fri Oct 11 15:40:53 2024 gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./libppr-perl_0.001010-2.dsc: no acceptable signature found dpkg-source: info: extracting libppr-perl in libppr-perl-0.001010 dpkg-source: info: unpacking libppr-perl_0.001010.orig.tar.gz dpkg-source: info: unpacking libppr-perl_0.001010-2.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/126956/tmp/hooks/D01_modify_environment starting debug: Running on ionos16-i386. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 Nov 14 05:57 /bin/sh -> /bin/bash I: Setting pbuilder2's login shell to /bin/bash I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other I: user script /srv/workspace/pbuilder/126956/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/126956/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="2" [2]="32" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") BASH_VERSION='5.2.32(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=i386 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=21 ' DIRSTACK=() DISTRIBUTION=unstable EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=i686 HOST_ARCH=i386 IFS=' ' INVOCATION_ID=d5c7cab349414ed4b55f9bbfda8bbb7a LANG=C LANGUAGE=de_CH:de LC_ALL=C LD_LIBRARY_PATH=/usr/lib/libeatmydata LD_PRELOAD=libeatmydata.so MACHTYPE=i686-pc-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=126956 PS4='+ ' PWD=/ SHELL=/bin/bash SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix SHLVL=3 SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.Z34tXEpP/pbuilderrc_KAow --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Z34tXEpP/b2 --logfile b2/build.log libppr-perl_0.001010-2.dsc' SUDO_GID=112 SUDO_UID=107 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://213.165.73.152:3128 I: uname -a Linux i-capture-the-hostname 6.1.0-26-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.112-1 (2024-09-30) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/126956/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: i386 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), libtest-simple-perl, perl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19785 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1t64{a} libfile-stripnondeterminism-perl{a} libicu72{a} libmagic-mgc{a} libmagic1t64{a} libpipeline1{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 29 newly installed, 0 to remove and 0 not upgraded. Need to get 20.1 MB of archives. After unpacking 75.7 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main i386 sensible-utils all 0.0.24 [24.8 kB] Get: 2 http://deb.debian.org/debian unstable/main i386 libmagic-mgc i386 1:5.45-3 [314 kB] Get: 3 http://deb.debian.org/debian unstable/main i386 libmagic1t64 i386 1:5.45-3 [114 kB] Get: 4 http://deb.debian.org/debian unstable/main i386 file i386 1:5.45-3 [42.9 kB] Get: 5 http://deb.debian.org/debian unstable/main i386 gettext-base i386 0.22.5-2 [201 kB] Get: 6 http://deb.debian.org/debian unstable/main i386 libuchardet0 i386 0.0.8-1+b1 [69.1 kB] Get: 7 http://deb.debian.org/debian unstable/main i386 groff-base i386 1.23.0-5 [1196 kB] Get: 8 http://deb.debian.org/debian unstable/main i386 bsdextrautils i386 2.40.2-9 [102 kB] Get: 9 http://deb.debian.org/debian unstable/main i386 libpipeline1 i386 1.5.8-1 [41.2 kB] Get: 10 http://deb.debian.org/debian unstable/main i386 man-db i386 2.13.0-1 [1428 kB] Get: 11 http://deb.debian.org/debian unstable/main i386 m4 i386 1.4.19-4 [293 kB] Get: 12 http://deb.debian.org/debian unstable/main i386 autoconf all 2.72-3 [493 kB] Get: 13 http://deb.debian.org/debian unstable/main i386 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian unstable/main i386 automake all 1:1.16.5-1.3 [823 kB] Get: 15 http://deb.debian.org/debian unstable/main i386 autopoint all 0.22.5-2 [723 kB] Get: 16 http://deb.debian.org/debian unstable/main i386 libdebhelper-perl all 13.20 [89.7 kB] Get: 17 http://deb.debian.org/debian unstable/main i386 libtool all 2.4.7-7 [517 kB] Get: 18 http://deb.debian.org/debian unstable/main i386 dh-autoreconf all 20 [17.1 kB] Get: 19 http://deb.debian.org/debian unstable/main i386 libarchive-zip-perl all 1.68-1 [104 kB] Get: 20 http://deb.debian.org/debian unstable/main i386 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 21 http://deb.debian.org/debian unstable/main i386 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 22 http://deb.debian.org/debian unstable/main i386 libelf1t64 i386 0.191-2 [194 kB] Get: 23 http://deb.debian.org/debian unstable/main i386 dwz i386 0.15-1+b1 [116 kB] Get: 24 http://deb.debian.org/debian unstable/main i386 libicu72 i386 72.1-5 [9550 kB] Get: 25 http://deb.debian.org/debian unstable/main i386 libxml2 i386 2.12.7+dfsg+really2.9.14-0.1 [733 kB] Get: 26 http://deb.debian.org/debian unstable/main i386 gettext i386 0.22.5-2 [1631 kB] Get: 27 http://deb.debian.org/debian unstable/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 28 http://deb.debian.org/debian unstable/main i386 po-debconf all 1.0.21+nmu1 [248 kB] Get: 29 http://deb.debian.org/debian unstable/main i386 debhelper all 13.20 [915 kB] Fetched 20.1 MB in 1s (17.9 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package sensible-utils. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19785 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../01-libmagic-mgc_1%3a5.45-3_i386.deb ... Unpacking libmagic-mgc (1:5.45-3) ... Selecting previously unselected package libmagic1t64:i386. Preparing to unpack .../02-libmagic1t64_1%3a5.45-3_i386.deb ... Unpacking libmagic1t64:i386 (1:5.45-3) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.45-3_i386.deb ... Unpacking file (1:5.45-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.22.5-2_i386.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../05-libuchardet0_0.0.8-1+b1_i386.deb ... Unpacking libuchardet0:i386 (0.0.8-1+b1) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.23.0-5_i386.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.40.2-9_i386.deb ... Unpacking bsdextrautils (2.40.2-9) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../08-libpipeline1_1.5.8-1_i386.deb ... Unpacking libpipeline1:i386 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.13.0-1_i386.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-4_i386.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../11-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../12-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../13-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../14-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../15-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../16-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../17-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../18-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../19-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../20-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:i386. Preparing to unpack .../21-libelf1t64_0.191-2_i386.deb ... Unpacking libelf1t64:i386 (0.191-2) ... Selecting previously unselected package dwz. Preparing to unpack .../22-dwz_0.15-1+b1_i386.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:i386. Preparing to unpack .../23-libicu72_72.1-5_i386.deb ... Unpacking libicu72:i386 (72.1-5) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../24-libxml2_2.12.7+dfsg+really2.9.14-0.1_i386.deb ... Unpacking libxml2:i386 (2.12.7+dfsg+really2.9.14-0.1) ... Selecting previously unselected package gettext. Preparing to unpack .../25-gettext_0.22.5-2_i386.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../26-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../27-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../28-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Setting up libpipeline1:i386 (1.5.8-1) ... Setting up libicu72:i386 (72.1-5) ... Setting up bsdextrautils (2.40.2-9) ... Setting up libmagic-mgc (1:5.45-3) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.20) ... Setting up libmagic1t64:i386 (1:5.45-3) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-3) ... Setting up libelf1t64:i386 (0.191-2) ... Setting up autotools-dev (20220109.1) ... Setting up autopoint (0.22.5-2) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:i386 (0.0.8-1+b1) ... Setting up libxml2:i386 (2.12.7+dfsg+really2.9.14-0.1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up gettext (0.22.5-2) ... Setting up libtool (2.4.7-7) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up groff-base (1.23.0-5) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.20) ... Processing triggers for libc-bin (2.40-3) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: user script /srv/workspace/pbuilder/126956/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for unstable I: user script /srv/workspace/pbuilder/126956/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/libppr-perl-0.001010/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../libppr-perl_0.001010-2_source.changes dpkg-buildpackage: info: source package libppr-perl dpkg-buildpackage: info: source version 0.001010-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by gregor herrmann dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf dh_auto_configure /usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libppr-perl-0.001010=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" "LD=i686-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libppr-perl-0.001010=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro" Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for PPR Writing MYMETA.yml and MYMETA.json dh_auto_build make -j21 make[1]: Entering directory '/build/reproducible-path/libppr-perl-0.001010' cp lib/PPR.pm blib/lib/PPR.pm cp lib/PPR/X.pm blib/lib/PPR/X.pm Manifying 2 pod documents make[1]: Leaving directory '/build/reproducible-path/libppr-perl-0.001010' dh_auto_test make -j21 test TEST_VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/libppr-perl-0.001010' PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t # Testing PPR 0.001010 t/00.load.t ...................... ok 1 - use PPR; 1..1 ok t/blocks.t ....................... ok 1 - MATCH: { # func1 / regex /; # func1 / regex ; # } # ok 2 - MATCH: { # time / regex; # func1 / regex /; # } # ok 3 - MATCH: { # func1 / regex; # } # ok 4 - MATCH: { # func1 / regex /; # } # ok 5 - MATCH: { # func1 / regex /; # func1 / regex; # } # ok 6 - MATCH: { sub { $_[0] /= $_[1] } } \# / here # ok 7 - MATCH: {$obj->method} # ok 8 - MATCH: { %x = () } # ok 9 - MATCH: { # $a = $b; # $x = $a / $b; # $a =~ /$b/; # /$c/; # @a = map /\s/, @b; # @a = map {/\s/} @b; # $not_pod # =head1 (); # } # ok 10 - MATCH: { # $a = $b; # $x = $a / $b; # # =head1 This is pod # # ...until the next # # =cut # # $a =~ /$b/; # /$c/; # # =pod # # more pod # # =cut # @a = map /\s/, @b; # @a = map {/\s/} @b # } # ok 11 - MATCH: { %x = ( try => "this") } # ok 12 - MATCH: {Foo(')')} # ok 13 - MATCH: { $data[4] =~ /['"]/; } # ok 14 - MATCH: { %x = ( $try->{this}, "too") } # ok 15 - MATCH: { %'x = ( $try->{this}, "too") } # ok 16 - MATCH: { %'x'y = ( $try->{this}, "too") } # ok 17 - MATCH: { %::x::y = ( $try->{this}, "too") } # ok 18 - MATCH: { $a = /\}/; } # ok 19 - MATCH: { 1; } # ok 20 - MATCH: { $a = 1; } # ok 21 - MATCH: {$a=1} # ok 22 - MATCH: { $a = $b; \# what's this doing here? # } # ok 23 - FAIL: < %x = do { $try > 10 } >; # ok 24 - FAIL: { $a = $b; \# what's this doing here? } # ok 25 - FAIL: { $a = $b; \# what's this doing here? # 1..25 ok t/control.t ...................... ok 1 - MATCH: for (my $x = 0 ; $x < 1; $x++) { } # ok 2 - MATCH: foreach (my $x = 0 ; $x < 1; $x++) { } # ok 3 - MATCH: for ($x = 0 ; $x < 1; $x++) { } # ok 4 - MATCH: foreach ($x = 0 ; $x < 1; $x++) { } # ok 5 - MATCH: for ( ; ; ) { } # ok 6 - MATCH: foreach ( ; ; ) { } # ok 7 - MATCH: while (1) { } # ok 8 - MATCH: until (1) { } # ok 9 - MATCH: if (1) { } # ok 10 - MATCH: unless (1) { } # ok 11 - MATCH: for (@foo) { } # ok 12 - MATCH: foreach (@foo) { } # ok 13 - MATCH: for $x (@foo) { } # ok 14 - MATCH: foreach $x (@foo) { } # ok 15 - MATCH: for my $x (@foo) { } # ok 16 - MATCH: foreach my $x (@foo) { } # ok 17 - MATCH: for state $x (@foo) { } # ok 18 - MATCH: foreach state $x (@foo) { } # ok 19 - MATCH: for qw{foo} { } # ok 20 - MATCH: foreach qw{foo} { } # ok 21 - MATCH: for $x qw{foo} { } # ok 22 - MATCH: foreach $x qw{foo} { } # ok 23 - MATCH: for my $x qw{foo} { } # ok 24 - MATCH: foreach my $x qw{foo} { } # ok 25 - MATCH: for state $x qw{foo} { } # ok 26 - MATCH: foreach state $x qw{foo} { } # ok 27 - FAIL: LABEL: while (1) { } # ok 28 - FAIL: LABEL: until (1) { } # ok 29 - FAIL: LABEL: for (@foo) { } # ok 30 - FAIL: LABEL: foreach (@foo) { } # ok 31 - FAIL: LABEL: for $x (@foo) { } # ok 32 - FAIL: LABEL: foreach $x (@foo) { } # ok 33 - FAIL: LABEL: for my $x (@foo) { } # ok 34 - FAIL: LABEL: foreach my $x (@foo) { } # ok 35 - FAIL: LABEL: for state $x (@foo) { } # ok 36 - FAIL: LABEL: foreach state $x (@foo) { } # ok 37 - FAIL: LABEL: for qw{foo} { } # ok 38 - FAIL: LABEL: foreach qw{foo} { } # ok 39 - FAIL: LABEL: for $x qw{foo} { } # ok 40 - FAIL: LABEL: foreach $x qw{foo} { } # ok 41 - FAIL: LABEL: for my $x qw{foo} { } # ok 42 - FAIL: LABEL: foreach my $x qw{foo} { } # ok 43 - FAIL: LABEL: for state $x qw{foo} { } # ok 44 - FAIL: LABEL: foreach state $x qw{foo} { } # ok 45 - FAIL: LABEL: for ( ; ; ) { } # ok 46 - FAIL: LABEL: foreach ( ; ; ) { } # ok 47 - FAIL: LABEL: for ($x = 0 ; $x < 1; $x++) { } # ok 48 - FAIL: LABEL: foreach ($x = 0 ; $x < 1; $x++) { } # ok 49 - FAIL: LABEL: for (my $x = 0 ; $x < 1; $x++) { } # ok 50 - FAIL: LABEL: foreach (my $x = 0 ; $x < 1; $x++) { } # 1..50 ok t/decomment.t .................... 1..1 ok 1 - Decommented correctly ok t/decomment_heredoc_large.t ...... 1..1 ok 1 ok t/disapproval.t .................. skipped: Acme::LookOfDisapproval not installed t/document_self.t ................ 1..1 ok 1 - Matched own document ok t/erudil.t ....................... 1..1 ok 1 - matched Erudil's camelcode ok t/eyedrops.t ..................... 1..1 ok 1 - matched Acme::Eyedrops Hello, World! ok t/for_ref_iterator.t ............. ok 1 - for_def_iterator ok 2 - for_def_iterator_curly ok 3 - for_my_iterator ok 4 - for_my_iterator_curly ok 5 - for_my_postalias ok 6 - for_my_postalias_array ok 7 - for_my_postalias_hash ok 8 - for_my_prealias ok 9 - for_my_prealias_array ok 10 - for_my_prealias_hash ok 11 - for_no_iterator ok 12 - for_our_iterator ok 13 - for_our_iterator_curly ok 14 - for_our_iterator_weird ok 15 - for_our_iterator_weird_curly ok 16 - for_our_postalias ok 17 - for_our_postalias_array ok 18 - for_our_postalias_hash ok 19 - for_our_prealias ok 20 - for_our_prealias_array ok 21 - for_our_prealias_hash ok 22 - for_state_iterator ok 23 - for_state_postalias ok 24 - for_state_postalias_array ok 25 - for_state_postalias_hash ok 26 - for_state_prealias ok 27 - for_state_prealias_array ok 28 - for_state_prealias_hash ok 29 - for_no_list ok 30 - for_local_iterator 1..30 ok t/format.t ....................... 1..2 ok 1 - Matched format ok 2 - Matched format ok t/heredoc.t ...................... ok 1 - Matched heredoc'd block 1 ok 2 - Matched heredoc'd block 2 ok 3 - Matched heredoc'd block 3 ok 4 - Matched heredoc'd block 4 ok 5 - Matched heredoc'd block 5 ok 6 - Matched heredoc'd block 6 ok 7 - Matched heredoc'd block 7 ok 8 - Matched heredoc'd block 8 ok 9 - Matched heredoc'd block 9 ok 10 - Matched heredoc'd block 10 ok 11 - Matched heredoc'd block 11 ok 12 - Matched heredoc'd block 12 ok 13 - Matched heredoc'd block 13 ok 14 - Matched heredoc'd block 14 ok 15 - Matched heredoc'd block 15 ok 16 - Matched heredoc'd block 16 ok 17 - Matched heredoc'd block 17 ok 18 - Matched heredoc'd block 18 ok 19 - Matched heredoc'd block 19 ok 20 - Matched heredoc'd block 20 ok 21 - Matched heredoc'd block 21 ok 22 - Matched heredoc'd block 22 ok 23 - Matched heredoc'd block 23 ok 24 - Matched heredoc'd block 24 ok 25 - Matched heredoc'd block 25 ok 26 - Matched heredoc'd block 26 ok 27 - Matched heredoc'd block 27 ok 28 - Matched heredoc'd block 28 ok 29 - Matched heredoc'd block 29 ok 30 - Matched heredoc'd block 30 ok 31 - Matched heredoc'd block 31 ok 32 - Matched heredoc'd block 32 ok 33 - Matched heredoc'd block 33 ok 34 - Matched heredoc'd block 34 1..34 ok t/heredoc_and_format.t ........... 1..2 ok 1 - Matched document ok 2 - Matched pieces ok t/heredoc_and_quotelike.t ........ 1..2 ok 1 - Matched document ok 2 - Matched pieces ok t/heredoc_large.t ................ ok 1 - Matched heredoc'd block 1 ok 2 - Matched heredoc'd block 2 ok 3 - Matched heredoc'd block 3 ok 4 - Matched heredoc'd block 4 ok 5 - Matched heredoc'd block 5 ok 6 - Matched heredoc'd block 6 ok 7 - Matched heredoc'd block 7 ok 8 - Matched heredoc'd block 8 ok 9 - Matched heredoc'd block 9 ok 10 - Matched heredoc'd block 10 ok 11 - Matched heredoc'd block 11 ok 12 - Matched heredoc'd block 12 ok 13 - Matched heredoc'd block 13 ok 14 - Matched heredoc'd block 14 ok 15 - Matched heredoc'd block 15 ok 16 - Matched heredoc'd block 16 ok 17 - Matched heredoc'd block 17 ok 18 - Matched heredoc'd block 18 ok 19 - Matched heredoc'd block 19 ok 20 - Matched heredoc'd block 20 ok 21 - Matched heredoc'd block 21 ok 22 - Matched heredoc'd block 22 ok 23 - Matched heredoc'd block 23 ok 24 - Matched heredoc'd block 24 ok 25 - Matched heredoc'd block 25 ok 26 - Matched heredoc'd block 26 ok 27 - Matched heredoc'd block 27 ok 28 - Matched heredoc'd block 28 ok 29 - Matched heredoc'd block 29 ok 30 - Matched heredoc'd block 30 ok 31 - Matched heredoc'd block 31 ok 32 - Matched heredoc'd block 32 ok 33 - Matched heredoc'd block 33 ok 34 - Matched heredoc'd block 34 ok 35 - Matched heredoc'd block 35 1..35 ok t/heredoc_null_then_shift.t ...... 1..2 ok 1 - Matched ok 2 - Matched correctly ok t/heredoc_same_terminator.t ...... 1..4 ok 1 - AA ok 2 - AA again ok 3 - AB ok 4 - AA yet again ok t/keywords.t ..................... 1..2 ok 1 - Matched Dios code ok 2 - Matched Object::Result code ok t/merijn_is_evil.t ............... 1..1 ok 1 ok t/misc.t ......................... ok 1 - (Foo(')')); # ok 2 - %x = ( try => "this"); # ok 3 - %x = (); # ok 4 - %x = ( $try->{this}, "too"); # ok 5 - %'x = ( $try->{this}, "too"); # ok 6 - %'x'y = ( $try->{this}, "too"); # ok 7 - %::x::y = ( $try->{this}, "too"); # ok 8 - %x = do { $try > 10 }; # ok 9 - label: %x = (); # ok 10 - \# leading "space" # label: %x = (); # ok 11 - label: \# in-between "space" # %x = (); # ok 12 - \# leading "space" # label: # in-between "space" # %x = (); # ok 13 - split /\s+/,; # ok 14 - grep {exists $group_of{$_} }; # ok 15 - { $a = /\}/; }; # ok 16 - { $data[4] =~ /['"]/; }; # ok 17 - { sub { $_[0] /= $_[1] } }; \# / here # ok 18 - { 1; }; # ok 19 - { $a = 1; }; # ok 20 - { $a = $b; \# what's this doing here? # };' # ok 21 - { $a = $b; # $a =~ /$b/; # @a = map /\s/ @b }; # ok 22 - { $a = $b; \# what's this doing here? };' # ok 23 - { $a = $b; \# what's this doing here? ;' # 1..23 ok t/misc_docs.t .................... ok 1 - # my $x; # # =pod # # Trailing POD # # =cut # ok 2 - # my $x; # # =pod # # Trailing POD terminated by eof # ok 3 - # =pod # # POD #1 # # =cut # # # Comments # # =pod # # POD #2 # # =cut # # my $x; # 1..3 ok t/perl_pod.t ..................... ok 1 - # =pod # # Regular POD # # =cut # ok 2 - # =pod # # POD terminated by eof # 1..2 ok t/perl_v5.28.t ................... 1..4 ok 1 - Can now delete via k/v slices ok 2 - Can initialize array state variables ok 3 - Can initialize hash state variables ok 4 - Named equivalents for various (?X...) regex constructs ok t/perl_v5.30.t ................... 1..3 ok 1 - Higher upper limit on counted repetions in regexes ok 2 - Can specify unicode properties in a regex via a nested regex ok 3 - Can specify variable-length lookbehinds in regexes ok t/perl_v5.32.t ................... 1..1 ok 1 - New binary infix isa operator ok t/perl_v5.34.t ................... 1..3 ok 1 - (Precheck that "vampire for" is valid) ok 2 - Octal constants ok 3 - Try/catch blocks ok t/perl_v5.36.t ................... 1..6 ok 1 - (Precheck that "vampire for" is valid) ok 2 - Try blocks with finally ok 3 - Defer blocks ok 4 - Multi-iterator for loops ok 5 - Unicode double-angle bracket delimiters on quotelikes ok 6 - Other Unicode bracket delimiters on quotelikes ok t/perl_v5.38.t ................... ok 1 - Or-assign in sub signatures ok 2 - Or-assign in anon sub signatures ok 3 - Doh-assign in sub signatures ok 4 - Doh-assign in anon sub signatures ok 5 - Optimistic eval in regexes ok 6 - Class declarations ok 7 - Class declarations with version number ok 8 - Class declaration with attribute ok 9 - Class declaration with attribute with minimal version ok 10 - Class blocks ok 11 - Class block with attribute ok 12 - Class block with version numbers ok 13 - Field declarations ok 14 - Field attribute ok 15 - Field attribute with rename ok 16 - Field default initializer ok 17 - Field default doh initializer ok 18 - Field default or initializer ok 19 - Field with all-of-the-above ok 20 - Array fields ok 21 - Array field with initializer ok 22 - Hash field ok 23 - Hash field with initializer ok 24 - Methods ok 25 - Method with signature ok 26 - Anonymous method ok 27 - Anonymous method with signature ok 28 - ADJUST blocks ok 29 - Class with fields, methods, and ADJUST blocks 1..29 ok t/pod.t .......................... skipped: Test::Pod 1.14 required for testing POD t/postfix_deref.t ................ 1..38 ok 1 - Valid: $sref->$* ok 2 - Valid: $aref->$\#* ok 3 - Valid: $aref->@* ok 4 - Valid: $aref->@[1,2,3] ok 5 - Valid: $aref->%[1..3] ok 6 - Valid: $href->%* ok 7 - Valid: $href->%{'a','b'} ok 8 - Valid: $href->@{'a','b'} ok 9 - Valid: $cref->() ok 10 - Valid: $cref->&* ok 11 - Valid: $rref->$*->$* ok 12 - Valid: $rref->$*->@* ok 13 - Valid: $gref->** ok 14 - Valid: $gref->**->{IO} ok 15 - Valid: $gref->**->**->{IO} ok 16 - Valid: $gref->*{IO} ok 17 - Valid: $obj->method ok 18 - Valid: $obj->method() ok 19 - Valid: $obj->$method ok 20 - Valid: $obj->$method() ok 21 - Valid: $ref->{a}[1]('arg')[2]{z} ok 22 - Valid: $ref->method->[1]('arg')('arg2')->$method()->[2]{z}->**->$*->&*->$\#* ok 23 - Valid: $aref->@*->%[1..3] ok 24 - Valid: $aref->@*->%{'k1', 'k2'} ok 25 - Valid: $aref->@*->method() ok 26 - Valid: $aref->@*->$* ok 27 - Valid: $aref->@*->** ok 28 - Valid: $href->%*->@[1..3] ok 29 - Valid: $href->%*->@{'k1', 'k2'} ok 30 - Valid: $href->%*->method() ok 31 - Valid: $href->%*->$* ok 32 - Valid: $href->%*->** ok 33 - Invalid: $aref->@*->[1] ok 34 - Invalid: $aref->@*->@[1..3] ok 35 - Invalid: $aref->@*->@{'k1', 'k2'} ok 36 - Invalid: $href->%*->{k} ok 37 - Invalid: $href->%*->%[1..3] ok 38 - Invalid: $href->%*->%{'k1', 'k2'} ok t/postfix_deref_qq.t ............. 1..82 ok 1 - Valid: qq{ $sref->$* } ok 2 - and postderef matched appropriately ok 3 - Valid: qq{ $aref->$\#* } ok 4 - and postderef matched appropriately ok 5 - Valid: qq{ $aref->@* } ok 6 - and postderef matched appropriately ok 7 - Valid: qq{ $aref->@[1,2,3] } ok 8 - and postderef matched appropriately ok 9 - Valid: qq{ $href->@{'a','b'} } ok 10 - and postderef matched appropriately ok 11 - Valid: qq{ $rref->$* } ok 12 - and postderef matched appropriately ok 13 - Valid: qq{ $href->{a}[1][2]{z} } ok 14 - and postderef matched appropriately ok 15 - Invalid: qq{ $aref->%[1..3] } ok 16 - and postderef correctly failed to match ok 17 - Invalid: qq{ $href->%* } ok 18 - and postderef correctly failed to match ok 19 - Invalid: qq{ $href->%{'a','b'} } ok 20 - and postderef correctly failed to match ok 21 - Invalid: qq{ $cref->() } ok 22 - and postderef correctly failed to match ok 23 - Invalid: qq{ $cref->&* } ok 24 - and postderef correctly failed to match ok 25 - Invalid: qq{ $rref->$*->$* } ok 26 - and postderef correctly failed to match ok 27 - Invalid: qq{ $rref->$*->@* } ok 28 - and postderef correctly failed to match ok 29 - Invalid: qq{ $gref->** } ok 30 - and postderef correctly failed to match ok 31 - Invalid: qq{ $gref->**->{IO} } ok 32 - and postderef correctly failed to match ok 33 - Invalid: qq{ $gref->**->**->{IO} } ok 34 - and postderef correctly failed to match ok 35 - Invalid: qq{ $gref->*{IO} } ok 36 - and postderef correctly failed to match ok 37 - Invalid: qq{ $obj->method } ok 38 - and postderef correctly failed to match ok 39 - Invalid: qq{ $obj->method() } ok 40 - and postderef correctly failed to match ok 41 - Invalid: qq{ $obj->$method } ok 42 - and postderef correctly failed to match ok 43 - Invalid: qq{ $obj->$method() } ok 44 - and postderef correctly failed to match ok 45 - Invalid: qq{ $href->{a}[1]('arg')[2]{z} } ok 46 - and postderef correctly failed to match ok 47 - Invalid: qq{ $href->method->[1]('arg')('arg2')->$method()->[2]{z}->**->$*->&*->$\#* } ok 48 - and postderef correctly failed to match ok 49 - Invalid: qq{ $aref->@*->[0] } ok 50 - and postderef correctly failed to match ok 51 - Invalid: qq{ $aref->@*->%[1..3] } ok 52 - and postderef correctly failed to match ok 53 - Invalid: qq{ $aref->@*->%{'k1', 'k2'} } ok 54 - and postderef correctly failed to match ok 55 - Invalid: qq{ $aref->@*->method() } ok 56 - and postderef correctly failed to match ok 57 - Invalid: qq{ $aref->@*->$* } ok 58 - and postderef correctly failed to match ok 59 - Invalid: qq{ $aref->@*->** } ok 60 - and postderef correctly failed to match ok 61 - Invalid: qq{ $href->%*->@[1..3] } ok 62 - and postderef correctly failed to match ok 63 - Invalid: qq{ $href->%*->@{'k1', 'k2'} } ok 64 - and postderef correctly failed to match ok 65 - Invalid: qq{ $href->%*->method() } ok 66 - and postderef correctly failed to match ok 67 - Invalid: qq{ $href->%*->$* } ok 68 - and postderef correctly failed to match ok 69 - Invalid: qq{ $href->%*->** } ok 70 - and postderef correctly failed to match ok 71 - Invalid: qq{ $aref->@*->[1] } ok 72 - and postderef correctly failed to match ok 73 - Invalid: qq{ $aref->@*->@[1..3] } ok 74 - and postderef correctly failed to match ok 75 - Invalid: qq{ $aref->@*->@{'k1', 'k2'} } ok 76 - and postderef correctly failed to match ok 77 - Invalid: qq{ $href->%*->{k} } ok 78 - and postderef correctly failed to match ok 79 - Invalid: qq{ $href->%*->%[1..3] } ok 80 - and postderef correctly failed to match ok 81 - Invalid: qq{ $href->%*->%{'k1', 'k2'} } ok 82 - and postderef correctly failed to match ok t/ppi_lexer.t .................... ok 1 - use constant { One => 1 }; # ok 2 - use constant 1 { One => 1 }; # ok 3 - $foo->{bar}; # ok 4 - $foo[1]{bar}; # ok 5 - $foo{bar}; # ok 6 - sub {1}; # ok 7 - grep { $_ } 0 .. 2; # ok 8 - map { $_ => 1 } 0 .. 2; # ok 9 - sort { $b <=> $a } 0 .. 2; # ok 10 - do {foo}; # ok 11 - $foo = { One => 1 }; # ok 12 - $foo ||= { One => 1 }; # ok 13 - 1, { One => 1 }; # ok 14 - One => { Two => 2 }; # ok 15 - {foo, bar}; # ok 16 - {foo => bar}; # ok 17 - {}; # ok 18 - +{foo, bar}; # ok 19 - @foo{'bar', 'baz'}; # ok 20 - @{$foo}{'bar', 'baz'}; # ok 21 - ${$foo}{bar}; # ok 22 - return { foo => 'bar' }; # ok 23 - bless { foo => 'bar' }; # ok 24 - $foo &&= { One => 1 }; # ok 25 - $foo //= { One => 1 }; # ok 26 - $foo //= { 'a' => 1, 'b' => 2 }; # ok 27 - 0 || { One => 1 }; # ok 28 - 1 && { One => 1 }; # ok 29 - undef // { One => 1 }; # ok 30 - $x ? {a=>1} : 1; # ok 31 - $x ? 1 : {a=>1}; # ok 32 - $x ? {a=>1} : {b=>1}; # 1..32 ok t/ppi_node.t ..................... ok 1 - use strict; # # sub one { 1 } # sub two { 2 } # sub three { 3 } # # print one; # print "\n"; # print three; # print "\n"; # # exit; # 1..1 ok t/ppi_statement.t ................ ok 1 - package Foo; # use strict; # ; # while (1) { last; } # BEGIN { } # sub foo { } # state $x; # $x = 5; # 1..1 ok t/ppi_statement_compound.t ....... ok 1 - while (1) { } # until (1) { } # LABEL: while (1) { } # LABEL: until (1) { } # # if (1) { } # unless (1) { } # # for (@foo) { } # foreach (@foo) { } # for $x (@foo) { } # foreach $x (@foo) { } # for my $x (@foo) { } # foreach my $x (@foo) { } # for state $x (@foo) { } # foreach state $x (@foo) { } # LABEL: for (@foo) { } # LABEL: foreach (@foo) { } # LABEL: for $x (@foo) { } # LABEL: foreach $x (@foo) { } # LABEL: for my $x (@foo) { } # LABEL: foreach my $x (@foo) { } # LABEL: for state $x (@foo) { } # LABEL: foreach state $x (@foo) { } # # for qw{foo} { } # foreach qw{foo} { } # for $x qw{foo} { } # foreach $x qw{foo} { } # for my $x qw{foo} { } # foreach my $x qw{foo} { } # for state $x qw{foo} { } # foreach state $x qw{foo} { } # LABEL: for qw{foo} { } # LABEL: foreach qw{foo} { } # LABEL: for $x qw{foo} { } # LABEL: foreach $x qw{foo} { } # LABEL: for my $x qw{foo} { } # LABEL: foreach my $x qw{foo} { } # LABEL: for state $x qw{foo} { } # LABEL: foreach state $x qw{foo} { } # # for ( ; ; ) { } # foreach ( ; ; ) { } # for ($x = 0 ; $x < 1; $x++) { } # foreach ($x = 0 ; $x < 1; $x++) { } # for (my $x = 0 ; $x < 1; $x++) { } # foreach (my $x = 0 ; $x < 1; $x++) { } # LABEL: for ( ; ; ) { } # LABEL: foreach ( ; ; ) { } # LABEL: for ($x = 0 ; $x < 1; $x++) { } # LABEL: foreach ($x = 0 ; $x < 1; $x++) { } # LABEL: for (my $x = 0 ; $x < 1; $x++) { } # LABEL: foreach (my $x = 0 ; $x < 1; $x++) { } # 1..1 ok t/ppi_statement_include.t ........ ok 1 - require 5.6; # require Module; # require 'Module.pm'; # use 5.6; # use Module; # use Module 1.00; # no Module; # 1..1 ok t/ppi_statement_package.t ........ ok 1 - { package => "", }; # +{ package => "", }; # { 'package' => "", }; # +{ 'package' => "", }; # { 'package' , "", }; # +{ 'package' , "", }; # package Foo; # SCOPE: { # package # comment # Bar::Baz; # 1; # } # package Other v1.23; # package Again 0.09; # 1; # 1..1 ok t/ppi_statement_sub.t ............ ok 1 - DESTROY {} # sub BEGIN {} # sub foo {} # sub foo{} # # sub FOO {} # # sub _foo {} # # sub _0foo {} # # sub _foo0 {} # # sub ___ {} # # sub bar() {} # # sub baz : method{} # # sub baz : method lvalue{} # # sub baz : method:lvalue{} # # sub baz (*) : method : lvalue{} # # sub x64 {} # # sub AUTOLOAD; # # sub AUTOLOAD {} # # sub DESTROY; # # sub DESTROY {} # # AUTOLOAD; # # AUTOLOAD {} # # DESTROY; # # sub CHECK {} # # sub UNITCHECK {} # # sub INIT {} # # sub END {} # # sub AUTOLOAD {} # # sub CLONE_SKIP {} # # sub __SUB__ {} # # sub _FOO {} # # sub FOO9 {} # # sub FO9O {} # # sub FOo {} # 1..1 ok t/ppi_statement_variable.t ....... ok 1 - package Bar; # my $foo = 1; # my ( $foo, $bar) = (1, 2); # our $foo = 1; # local $foo; # local $foo = 1; # LABEL: my $foo = 1; # # # As well as those basics, lets also try some harder ones # local($foo = $bar->$bar(), $bar); # 1..1 ok t/ppi_token_dashedword.t ......... ok 1 - -foo, -foo, # -Foo::Bar, -Foo::Bar, # -Foo'Bar, -Foo::Bar, # 1..1 ok t/ppi_token_magic.t .............. ok 1 - $[; \# Magic $[ # ok 2 - $$; \# Magic $$ # ok 3 - %-; \# Magic %- # ok 4 - $\#-; \# Magic $\#- # ok 5 - $$foo; \# Symbol $foo Dereference of $foo # ok 6 - $^W; \# Magic $^W # ok 7 - ${^WIDE_SYSTEM_CALLS}; \# Magic ${^WIDE_SYSTEM_CALLS} # ok 8 - ${^MATCH}; \# Magic ${^MATCH} # ok 9 - @{^_Bar}; \# Magic @{^_Bar} # ok 10 - ${^_Bar}[0]; \# Magic @{^_Bar} # ok 11 - %{^_Baz}; \# Magic %{^_Baz} # ok 12 - ${^_Baz}{burfle}; \# Magic %{^_Baz} # ok 13 - $${^MATCH}; \# Magic ${^MATCH} Dereference of ${^MATCH} # ok 14 - \\${^MATCH}; \# Magic ${^MATCH} # ok 15 - $0; \# Magic $0 -- program being executed # ok 16 - $0x2; \# Magic $0 -- program being executed # ok 17 - $10; \# Magic $10 -- capture variable # ok 18 - $1100; \# Magic $1100 -- capture variable # 1..18 ok t/ppi_token_operator.t ........... ok 1 - bareword x 3; # ok 2 - bareword x3; # ok 3 - $a->package x3; # ok 4 - sort { $a->package cmp $b->package } (); # ok 5 - c->d x 3; # ok 6 - 1 x 3; # ok 7 - "y" x 3; # ok 8 - qq{y} x 3; # ok 9 - "y"x 3; # ok 10 - $a x 3; # ok 11 - $a x3; # ok 12 - $a++x3; # ok 13 - "y"x 3; # ok 14 - 'y'x 3; # ok 15 - (5)x 3; # ok 16 - 1x0x1; # ok 17 - 1 x$y; # ok 18 - $z x=3; # ok 19 - $z x=$y; # ok 20 - 1;x =>1; # ok 21 - 1;x=>1; # ok 22 - $hash{x}=1; # ok 23 - x =>1; # ok 24 - x=>1; # ok 25 - xx=>1; # ok 26 - 1=>x; # ok 27 - 1=>xor 2; # ok 28 - (1) x 6; # ok 29 - (1) x6; # ok 30 - (1)x6; # ok 31 - foo()x6; # ok 32 - qw(1)x6; # ok 33 - qw<1>x6; # ok 34 - [1]x6; # ok 35 - 1x$bar; # ok 36 - 1x@bar; # ok 37 - sub xyzzy : _5x5 {1;}; # ok 38 - LABEL: x64; # ok 39 - 1 => 2; # ok 40 - foo => 2; # ok 41 - -foo => 2; # 1..41 ok t/ppi_token_prototype.t .......... ok 1 - sub (\ [ $ ]){;}; # sub (\\\ [ $ ]){;} # ok 2 - sub foo(){;} # sub foo( ){;} # # sub foo () {;} # # sub foo(+@){;} # # sub foo (+@) {;} # # sub foo(\[$;$_@]){;} # # sub foo(\ [ $ ]){;} # # sub foo(\\\ [ $ ]){;} # # sub foo($ _ %){;} # # sub foo (){;} # # sub foo ( ){;} # # sub foo () {;} # # sub foo (+@){;} # # sub foo (+@) {;} # # sub foo (\[$;$_@]){;} # # sub foo (\ [ $ ]){;} # # sub foo (\\\ [ $ ]){;} # # sub foo ($ _ %){;} # ok 3 - sub(){;} # ok 4 - sub( ){;} # ok 5 - sub () {;} # ok 6 - sub(+@){;} # ok 7 - sub (+@) {;} # ok 8 - sub(\[$;$_@]){;} # ok 9 - sub(\ [ $ ]){;} # ok 10 - sub(\\\ [ $ ]){;} # ok 11 - sub($ _ %){;} # ok 12 - sub (){;} # ok 13 - sub ( ){;} # ok 14 - sub () {;} # ok 15 - sub (+@){;} # ok 16 - sub (+@) {;} # ok 17 - sub (\[$;$_@]){;} # ok 18 - sub ($ _ %){;} # ok 19 - sub DESTROY(){;} # # sub DESTROY( ){;} # # sub DESTROY () {;} # # sub DESTROY(+@){;} # # sub DESTROY (+@) {;} # # sub DESTROY(\[$;$_@]){;} # # sub DESTROY(\ [ $ ]){;} # # sub DESTROY(\\\ [ $ ]){;} # # sub DESTROY($ _ %){;} # # sub DESTROY (){;} # # sub DESTROY ( ){;} # # sub DESTROY () {;} # # sub DESTROY (+@){;} # # sub DESTROY (+@) {;} # # sub DESTROY (\[$;$_@]){;} # # sub DESTROY (\ [ $ ]){;} # # sub DESTROY (\\\ [ $ ]){;} # # sub DESTROY ($ _ %){;} # # sub AUTOLOAD(){;} # # sub AUTOLOAD( ){;} # # sub AUTOLOAD () {;} # # sub AUTOLOAD(+@){;} # # sub AUTOLOAD (+@) {;} # # sub AUTOLOAD(\[$;$_@]){;} # # sub AUTOLOAD(\ [ $ ]){;} # # sub AUTOLOAD(\\\ [ $ ]){;} # # sub AUTOLOAD($ _ %){;} # # sub AUTOLOAD (){;} # # sub AUTOLOAD ( ){;} # # sub AUTOLOAD () {;} # # sub AUTOLOAD (+@){;} # # sub AUTOLOAD (+@) {;} # # sub AUTOLOAD (\[$;$_@]){;} # # sub AUTOLOAD (\ [ $ ]){;} # # sub AUTOLOAD (\\\ [ $ ]){;} # # sub AUTOLOAD ($ _ %){;} # 1..19 ok t/ppi_token_quote_double.t ....... ok 1 - "no interpolations"; # "no \@interpolations"; # "has $interpolation"; # "has @interpolation"; # "has \\@interpolation"; # "no special characters"; # "has \"double\" quotes"; # "has 'single' quotes"; # "has $interpolation"; # "has @interpolation"; # ""; # 1..1 ok t/ppi_token_quote_interpolate.t .. ok 1 - print qq{foo}, qq!bar!, qq ; # print q{foo}, q!bar!, q ; # 1..1 ok t/ppi_token_quote_single.t ....... ok 1 - '', # 'f', # "f\'b", # "f\\nb", # "f\\b", # "f\\\\b", # "f\\'", # 1..1 ok t/ppi_token_word.t ............... ok 1 - no strict; # ok 2 - indirect $foo; # ok 3 - indirect_class_with_colon Foo::; # ok 4 - $bar->method_with_parentheses; # ok 5 - print SomeClass->method_without_parentheses + 1; # ok 6 - sub_call(); # ok 7 - $baz->chained_from->chained_to; # ok 8 - a_first_thing a_middle_thing a_last_thing; # ok 9 - (first_list_element, second_list_element, third_list_element); # ok 10 - first_comma_separated_word, second_comma_separated_word, third_comma_separated_word; # ok 11 - single_bareword_statement; # ok 12 - { bareword_no_semicolon_end_of_block } # $buz{hash_key}; # ok 13 - fat_comma_left_side => $thingy; # ok 14 - $foo and'bar'; # ok 15 - $foo cmp'bar'; # ok 16 - $foo eq'bar'; # ok 17 - $foo ge'bar'; # ok 18 - $foo gt'bar'; # ok 19 - $foo le'bar'; # ok 20 - $foo lt'bar'; # ok 21 - $foo ne'bar'; # ok 22 - not'bar'; # ok 23 - $foo or'bar'; # ok 24 - $foo x'bar'; # ok 25 - $foo xor'bar'; # ok 26 - q'foo'; # ok 27 - qq'foo'; # ok 28 - qr'foo'; # ok 29 - qw'foo'; # ok 30 - qx'foo'; # ok 31 - m'foo'; # ok 32 - s'foo'bar'; # ok 33 - tr'fo'ba'; # ok 34 - y'fo'ba'; # ok 35 - abs'3'; # ok 36 - accept'1234',2345; # ok 37 - alarm'5'; # ok 38 - atan2'5'; # ok 39 - bind'5',""; # ok 40 - binmode'5'; # ok 41 - bless'foo', 'bar'; # ok 42 - break when 1; # ok 43 - caller'3'; # ok 44 - chdir'foo'; # ok 45 - chmod'0777', 'foo'; # ok 46 - chomp'a'; # ok 47 - chop'a'; # ok 48 - chown'a'; # ok 49 - chr'32'; # ok 50 - chroot'a'; # ok 51 - close'1'; # ok 52 - closedir'1'; # ok 53 - connect'1234',$foo; # ok 54 - continue; # ok 55 - cos'3'; # ok 56 - crypt'foo', 'bar'; # ok 57 - dbmclose'foo'; # ok 58 - dbmopen'foo','bar'; # ok 59 - default {} # defined'foo'; # ok 60 - delete'foo'; # ok 61 - die'foo'; # ok 62 - do'foo'; # ok 63 - dump'foo'; # ok 64 - each'foo'; # ok 65 - else {}; # ok 66 - elsif {}; # ok 67 - endgrent; # ok 68 - endhostent; # ok 69 - endnetent; # ok 70 - endprotoent; # ok 71 - endpwent; # ok 72 - endservent; # ok 73 - eof'foo'; # ok 74 - eval'foo'; # ok 75 - evalbytes'foo'; # ok 76 - exec'foo'; # ok 77 - exists'foo'; # ok 78 - exit'foo'; # ok 79 - exp'foo'; # ok 80 - fc'foo'; # ok 81 - fcntl'1'; # ok 82 - fileno'1'; # ok 83 - flock'1', LOCK_EX; # ok 84 - fork; # ok 85 - format # = # . # formline'@',1; # ok 86 - getc'1'; # ok 87 - getgrent; # ok 88 - getgrgid'1'; # ok 89 - getgrnam'foo'; # ok 90 - gethostbyaddr'1', AF_INET; # ok 91 - gethostbyname'foo'; # ok 92 - gethostent; # ok 93 - getlogin; # ok 94 - getnetbyaddr'1', AF_INET; # ok 95 - getnetbyname'foo'; # ok 96 - getnetent; # ok 97 - getpeername'foo'; # ok 98 - getpgrp'1'; # ok 99 - getppid; # ok 100 - getpriority'1',2; # ok 101 - getprotobyname'tcp'; # ok 102 - getprotobynumber'6'; # ok 103 - getprotoent; # ok 104 - getpwent; # ok 105 - getpwnam'foo'; # ok 106 - getpwuid'1'; # ok 107 - getservbyname'foo', 'bar'; # ok 108 - getservbyport'23', 'tcp'; # ok 109 - getservent; # ok 110 - getsockname'foo'; # ok 111 - getsockopt'foo', 'bar', TCP_NODELAY; # ok 112 - glob'foo'; # ok 113 - gmtime'1'; # ok 114 - goto'label'; # ok 115 - hex'1'; # ok 116 - index'1','foo'; # ok 117 - int'1'; # ok 118 - ioctl'1',1; # ok 119 - join'a',@foo; # ok 120 - keys'foo'; # ok 121 - kill'KILL'; # ok 122 - last'label'; # ok 123 - lc'foo'; # ok 124 - lcfirst'foo'; # ok 125 - length'foo'; # ok 126 - link'foo','bar'; # ok 127 - listen'1234',10; # ok 128 - local'foo'; # ok 129 - localtime'1'; # ok 130 - lock'foo'; # ok 131 - log'foo'; # ok 132 - lstat'foo'; # ok 133 - mkdir'foo'; # ok 134 - msgctl'1','foo',1; # ok 135 - msgget'1',1; # ok 136 - msgrcv'1',$foo,1,1,1; # ok 137 - msgsnd'1',$foo,1; # ok 138 - my $foo; # ok 139 - next'label'; # ok 140 - oct'foo'; # ok 141 - open'foo'; # ok 142 - opendir'foo'; # ok 143 - ord'foo'; # ok 144 - our $foo; # ok 145 - pack'H*',$data; # ok 146 - pipe'in','out'; # ok 147 - pop'foo'; # ok 148 - pos'foo'; # ok 149 - print'foo'; # ok 150 - printf'foo','bar'; # ok 151 - prototype'foo'; # ok 152 - push'foo','bar'; # ok 153 - quotemeta'foo'; # ok 154 - rand'1'; # ok 155 - read'1',$foo,100; # ok 156 - readdir'1'; # ok 157 - readline'1'; # ok 158 - readlink'1'; # ok 159 - readpipe'1'; # ok 160 - recv'1',$foo,100,1; # ok 161 - redo'label'; # ok 162 - ref'foo'; # ok 163 - rename'foo','bar'; # ok 164 - require'foo'; # ok 165 - reset'f'; # ok 166 - return'foo'; # ok 167 - reverse'foo','bar'; # ok 168 - rewinddir'1'; # ok 169 - rindex'1','foo'; # ok 170 - rmdir'foo'; # ok 171 - say'foo'; # ok 172 - scalar'foo','bar'; # ok 173 - seek'1',100,0; # ok 174 - seekdir'1',100; # ok 175 - select'1'; # ok 176 - semctl'1',1,1; # ok 177 - semget'foo',1,1; # ok 178 - semop'foo','bar'; # ok 179 - send'1',$foo'100,1; # ok 180 - setgrent'foo'; # ok 181 - sethostent'1'; # ok 182 - setnetent'1'; # ok 183 - setpgrp'1',2; # ok 184 - setpriority'1',2, 3; # ok 185 - setprotoent'1'; # ok 186 - setpwent'foo'; # ok 187 - setservent'1'; # ok 188 - setsockopt'1',2,'foo',3; # ok 189 - shift'1','2'; # ok 190 - shmctl'1',2,$foo; # ok 191 - shmget'1',2,1; # ok 192 - shmread'1',$foo,0,10; # ok 193 - shmwrite'1',$foo,0,10; # ok 194 - shutdown'1',0; # ok 195 - sin'1'; # ok 196 - sleep'1'; # ok 197 - socket'1',2,3,6; # ok 198 - socketpair'1',2,3,4,6; # ok 199 - splice'1',2; # ok 200 - split'1','foo'; # ok 201 - sprintf'foo','bar'; # ok 202 - sqrt'1'; # ok 203 - srand'1'; # ok 204 - stat'foo'; # ok 205 - state $foo; # ok 206 - study'foo'; # ok 207 - substr'foo',1; # ok 208 - symlink'foo','bar'; # ok 209 - syscall'foo'; # ok 210 - sysopen'foo','bar',1; # ok 211 - sysread'1',$bar,1; # ok 212 - sysseek'1',0,0; # ok 213 - system'foo'; # ok 214 - syswrite'1',$bar,1; # ok 215 - tell'1'; # ok 216 - telldir'1'; # ok 217 - tie'foo',$bar; # ok 218 - tied'foo'; # ok 219 - time; # ok 220 - times; # ok 221 - truncate'foo',1; # ok 222 - uc'foo'; # ok 223 - ucfirst'foo'; # ok 224 - umask'foo'; # ok 225 - undef'foo'; # ok 226 - unlink'foo'; # ok 227 - unpack'H*',$data; # ok 228 - unshift'1'; # ok 229 - untie'foo'; # ok 230 - utime'1','2'; # ok 231 - values'foo'; # ok 232 - vec'1',0.0; # ok 233 - wait; # ok 234 - waitpid'1',0; # ok 235 - wantarray; # ok 236 - warn'foo'; # ok 237 - when('foo') {} # ok 238 - write'foo'; # ok 239 - 1 for'foo'; # ok 240 - 1 foreach'foo'; # ok 241 - 1 if'foo'; # ok 242 - 1 unless'foo'; # ok 243 - 1 until'foo'; # ok 244 - 1 while'foo'; # 1..244 ok t/PPR_ERROR.t .................... 1..15 ok 1 - 1: Error source identified ok 2 - 1: Prefix identified ok 3 - 1: Line identified ok 4 - 1: Line with offset identified ok 5 - 1: Diagnostic identified ok 6 - 2: Error source identified ok 7 - 2: Prefix identified ok 8 - 2: Line identified ok 9 - 2: Line with offset identified ok 10 - 2: Diagnostic identified ok 11 - 3: Error source identified ok 12 - 3: Prefix identified ok 13 - 3: Line identified ok 14 - 3: Line with offset identified ok 15 - 3: Diagnostic identified ok t/PPR_ERROR_multiple.t ........... 1..15 ok 1 - 1: Error source identified ok 2 - 1: Prefix identified ok 3 - 1: Line identified ok 4 - 1: Line with offset identified ok 5 - 1: Diagnostic identified ok 6 - 2: Error source identified ok 7 - 2: Prefix identified ok 8 - 2: Line identified ok 9 - 2: Line with offset identified ok 10 - 2: Diagnostic identified ok 11 - 3: Error source identified ok 12 - 3: Prefix identified ok 13 - 3: Line identified ok 14 - 3: Line with offset identified ok 15 - 3: Diagnostic identified ok t/PPR_ERROR_trailing.t ........... 1..5 ok 1 - 1: Error source identified ok 2 - 1: Prefix identified ok 3 - 1: Line identified ok 4 - 1: Line with offset identified ok 5 - 1: Diagnostic identified ok t/PPR_GRAMMAR_placement.t ........ 1..3 ok 1 - $PPR::GRAMMAR at end ok 2 - $PPR::GRAMMAR at start ok 3 - $PPR::GRAMMAR in middle ok t/PPR_X.t ........................ 1..5 ok 1 - Extended expression matched ok 2 - Extended statement matched ok 3 - Extended statement within document matched ok 4 - Did not match English connectives ok 5 - Matched Latin connectives ok t/qr_combine.t ................... ok 1 - inline DEFINE + interpolated grammar inside of qr// ok 2 - interpolate DEFINE + interpolate grammar inside of qr ok 3 - concatenate regex in string then interpolate inside of qr// 1..3 ok t/quotelike_misc.t ............... ok 1 - MATCH: /\N{ SPACE } \x{ 20AC } \d{ 1,9 }/ # ok 2 - MATCH: m{ x{,9} } # ok 3 - MATCH: m{^$DRIVE_RX[\\/]}o # ok 4 - MATCH: m/[@\#]_ # / # ok 5 - MATCH: m{^(.*)::(.*)$} # ok 6 - MATCH: s(a){b} # ok 7 - MATCH: s (a) # /b/ # ok 8 - MATCH: q(d) # ok 9 - MATCH: qq(e) # ok 10 - MATCH: qx(f) # ok 11 - MATCH: qr(g) # ok 12 - MATCH: qw(h i j) # ok 13 - MATCH: < pairs and escaped \}'s } # ok 25 - MATCH: '' # ok 26 - MATCH: "" # ok 27 - MATCH: "a" # ok 28 - MATCH: 'b' # ok 29 - MATCH: `cc` # ok 30 - MATCH: "this is a nested $var[$x] {" # ok 31 - MATCH: /a/gci # ok 32 - MATCH: m/a/gci # ok 33 - MATCH: q{d} # ok 34 - MATCH: qq{e} # ok 35 - MATCH: qx{f} # ok 36 - MATCH: qr{g} # ok 37 - MATCH: q/slash/ # ok 38 - MATCH: q\# slash \# # ok 39 - MATCH: qr qw qx # ok 40 - MATCH: s/x/y/ # ok 41 - MATCH: s/x/y/cgimsox # ok 42 - MATCH: s{a}{b} # ok 43 - MATCH: s{a} # {b} # ok 44 - MATCH: s/'/\\'/g # ok 45 - MATCH: s;';\\\\t\#\\$d\#; # ok 46 - MATCH: tr/x/y/ # ok 47 - MATCH: y/x/y/ # ok 48 - FAIL: q \# slash \# # ok 49 - FAIL: s-$self->{pap}-$self->{sub}- \# CAN'T HANDLE '-' in '->' # ok 50 - FAIL: q<$self->{pat}> # ok 51 - FAIL: qq<$self->{pat}> # ok 52 - FAIL: qr<$self->{pat}> # ok 53 - FAIL: qx<$self->{pat}> # ok 54 - FAIL: s<$self->{pat}>{$self->{sub}} # 1..54 ok t/quotelike_noninerpolating.t .... 1..8 ok 1 - qr ok 2 - m ok 3 - s ok 4 - qx ok 5 - $@ should match a (?&PerlScalarAccessNoSpace) ok 6 - $_ should match a (?&PerlScalarAccessNoSpace) ok 7 - $etc should match a (?&PerlScalarAccessNoSpace) ok 8 - qq ok t/quotelike_s_e.t ................ ok 1 - MATCH: # s/${\<, "baz"; # ok 3 - MATCH: require 'Module.pm'; # ok 4 - MATCH: require 5.014; # ok 5 - MATCH: require 5.14.0; # ok 6 - MATCH: require 5.014_000; # ok 7 - MATCH: require 5.14.0; # ok 8 - MATCH: require 5.14; # ok 9 - MATCH: require Module; # ok 10 - MATCH: require v5.14.0; # ok 11 - MATCH: use 5.014; # ok 12 - MATCH: use 5.014_000; # ok 13 - MATCH: use 5.14.0; # ok 14 - MATCH: use 5.14; # ok 15 - MATCH: use Float::Version 1.5; # ok 16 - MATCH: use Foo 'bar'; \# One thing. # ok 17 - MATCH: use Foo 5 'bar'; \# One thing. # ok 18 - MATCH: use Foo 5; \# Don't expect anything. # ok 19 - MATCH: use Foo; \# Don't expect anything. # ok 20 - MATCH: use Integer::Version 1; # ok 21 - MATCH: use Module 1.00; # ok 22 - MATCH: use Module; # ok 23 - MATCH: use No::Version::With::Argument 'x'; # ok 24 - MATCH: use No::Version; # ok 25 - MATCH: use Test::More tests => 5 * 9; # ok 26 - MATCH: use Version::With::Argument 1 2; # ok 27 - MATCH: use v5.14.0; # ok 28 - MATCH: no 5.014; # ok 29 - MATCH: no 5.014_000; # ok 30 - MATCH: no 5.14.0; # ok 31 - MATCH: no 5.14; # ok 32 - MATCH: no Float::Version 1.5; # ok 33 - MATCH: no Foo 'bar'; \# One thing. # ok 34 - MATCH: no Foo 5 'bar'; \# One thing. # ok 35 - MATCH: no Foo 5; \# Don't expect anything. # ok 36 - MATCH: no Foo qw< bar >, "baz"; # ok 37 - MATCH: no Foo; \# Don't expect anything. # ok 38 - MATCH: no Integer::Version 1; # ok 39 - MATCH: no Module 1.00; # ok 40 - MATCH: no Module; # ok 41 - MATCH: no No::Version::With::Argument 'x'; # ok 42 - MATCH: no No::Version::With::Arguments 1, 2; # ok 43 - MATCH: no No::Version; # ok 44 - MATCH: no Test::More tests => 5 * 9; # ok 45 - MATCH: no Version::With::Argument 1 2; # ok 46 - MATCH: no v5.14.0; # 1..46 ok t/statement_variable.t ........... ok 1 - MATCH: package Bar; # ok 2 - MATCH: my $foo = 1; # ok 3 - MATCH: my ( $foo, $bar) = (1, 2); # ok 4 - MATCH: our $foo = 1; # ok 5 - MATCH: local $foo; # ok 6 - MATCH: local $foo = 1; # ok 7 - MATCH: LABEL: my $foo = 1; # ok 8 - MATCH: local($foo = $bar->$bar(), $bar); # 1..8 ok t/sub_END.t ...................... 1..3 ok 1 - Matched sub __END__ ok 2 - Matched sub __DATA__ ok 3 - Matched sub __OTHER__ ok t/subdecl.t ...................... 1..9 ok 1 - or_equals ok 2 - doh_equals ok 3 - AUTOLOAD ok 4 - DESTROY ok 5 - &DESTROY(); ok 6 - DESTROY(); ok 7 - protofirst ok 8 - protolast ok 9 - unnamed ok t/substitution_ge.t .............. # Subtest: s<(RE)>< $var{x} // croak() >ge ok 1 - Found infix: // ok 2 - Interim-matched extra infix: > ok 3 - Found correct binary expression: $var{x} // croak() ok 4 - Matched METAREGEX 1..4 ok 1 - s<(RE)>< $var{x} // croak() >ge # # Subtest: s[(RE)][ $var{x} // croak() ]ge ok 1 - Found infix: // ok 2 - Found correct binary expression: $var{x} // croak() ok 3 - Matched METAREGEX 1..3 ok 2 - s[(RE)][ $var{x} // croak() ]ge # # Subtest: s{(RE)}{ $var{x} // croak() }ge ok 1 - Found infix: // ok 2 - Found correct binary expression: $var{x} // croak() ok 3 - Matched METAREGEX 1..3 ok 3 - s{(RE)}{ $var{x} // croak() }ge # # Subtest: s((RE))( $var{x} // croak() )ge ok 1 - Found infix: // ok 2 - Found correct binary expression: $var{x} // croak() ok 3 - Matched METAREGEX 1..3 ok 4 - s((RE))( $var{x} // croak() )ge # # Subtest: s"(RE)" $var{x} // croak() "ge ok 1 - Found infix: // ok 2 - Found correct binary expression: $var{x} // croak() ok 3 - Matched METAREGEX 1..3 ok 5 - s"(RE)" $var{x} // croak() "ge # # Subtest: s%(RE)% $var{x} // croak() %ge ok 1 - Found infix: // ok 2 - Interim-matched extra infix: % ok 3 - Found correct binary expression: $var{x} // croak() ok 4 - Interim-matched extra binary expression: %ge ok 5 - Matched METAREGEX 1..5 ok 6 - s%(RE)% $var{x} // croak() %ge # # Subtest: s'(RE)' $var{x} // croak() 'ge ok 1 - Found infix: // ok 2 - Found correct binary expression: $var{x} // croak() ok 3 - Matched METAREGEX 1..3 ok 7 - s'(RE)' $var{x} // croak() 'ge # # Subtest: s+(RE)+ $var{x} // croak() +ge ok 1 - Found infix: // ok 2 - Interim-matched extra infix: + ok 3 - Found correct binary expression: $var{x} // croak() ok 4 - Matched METAREGEX 1..4 ok 8 - s+(RE)+ $var{x} // croak() +ge # # Subtest: s,(RE), $var{x} // croak() ,ge ok 1 - Found infix: // ok 2 - Found correct binary expression: $var{x} // croak() ok 3 - Matched METAREGEX 1..3 ok 9 - s,(RE), $var{x} // croak() ,ge # # Subtest: s/(RE)/ $var{x} || croak() /ge ok 1 - Found infix: || ok 2 - Interim-matched extra infix: / ok 3 - Found correct binary expression: $var{x} || croak() ok 4 - Matched METAREGEX 1..4 ok 10 - s/(RE)/ $var{x} || croak() /ge # # Subtest: s@(RE)@ $var{x} // croak() @ge ok 1 - Found infix: // ok 2 - Found correct binary expression: $var{x} // croak() ok 3 - Interim-matched extra binary expression: @ge ok 4 - Matched METAREGEX 1..4 ok 11 - s@(RE)@ $var{x} // croak() @ge # # Subtest: s|(RE)| $var{x} // croak() |ge ok 1 - Found infix: // ok 2 - Interim-matched extra infix: | ok 3 - Found correct binary expression: $var{x} // croak() ok 4 - Matched METAREGEX 1..4 ok 12 - s|(RE)| $var{x} // croak() |ge # 1..12 ok t/token_quote.t .................. ok 1 - MATCH: 'foo' # ok 2 - MATCH: "foo" # ok 3 - MATCH: q{foo} # ok 4 - MATCH: q[foo] # ok 5 - MATCH: q # ok 6 - MATCH: q(foo) # ok 7 - MATCH: q/foo/ # ok 8 - MATCH: q\#foo\# # ok 9 - MATCH: q=foo= # ok 10 - MATCH: q qfooq # ok 11 - MATCH: qq{foo} # ok 12 - MATCH: qq[foo] # ok 13 - MATCH: qq # ok 14 - MATCH: qq(foo) # ok 15 - MATCH: qq/foo/ # ok 16 - MATCH: qq\#foo\# # ok 17 - MATCH: qq=foo= # ok 18 - MATCH: qq qfooq # ok 19 - MATCH: q {foo} # ok 20 - MATCH: q [foo] # ok 21 - MATCH: q # ok 22 - MATCH: q (foo) # ok 23 - MATCH: q /foo/ # ok 24 - MATCH: q =foo= # ok 25 - MATCH: qq {foo} # ok 26 - MATCH: qq [foo] # ok 27 - MATCH: qq # ok 28 - MATCH: qq (foo) # ok 29 - MATCH: qq /foo/ # ok 30 - MATCH: qq =foo= # ok 31 - FAIL: # ok 32 - FAIL: q \#foo\# # ok 33 - FAIL: qq \#foo\# # 1..33 ok t/token_quote_double.t ........... ok 1 - MATCH: "no interpolations" # ok 2 - MATCH: "no \@interpolations" # ok 3 - MATCH: "has $interpolation" # ok 4 - MATCH: "has @interpolation" # ok 5 - MATCH: "has \\@interpolation" # ok 6 - MATCH: "" # ok 7 - MATCH: "no special characters" # ok 8 - MATCH: "has \"double\" quotes" # ok 9 - MATCH: "has 'single' quotes" # ok 10 - MATCH: "has $interpolation" # ok 11 - MATCH: "has @interpolation" # 1..11 ok t/token_quote_single.t ........... ok 1 - MATCH [40]: '' # ok 2 - MATCH [42]: 'f' # ok 3 - MATCH [44]: 'f\'b' # ok 4 - MATCH [46]: 'f\nb' # ok 5 - MATCH [48]: 'f\\b' # ok 6 - MATCH [50]: 'f\\\b' # ok 7 - MATCH [52]: 'f\\\'' # ok 8 - MATCH [54]: q// # ok 9 - MATCH [56]: q/f/ # ok 10 - MATCH [58]: q/f\'b/ # ok 11 - MATCH [60]: q/f\nb/ # ok 12 - MATCH [62]: q/f\\b/ # ok 13 - MATCH [64]: q/f\\\b/ # ok 14 - MATCH [66]: q/f\\'/ # ok 15 - MATCH [68]: q/f\\\// # ok 16 - MATCH [70]: q!! # ok 17 - MATCH [72]: q!f! # ok 18 - MATCH [74]: q!f\'b! # ok 19 - MATCH [76]: q !f\nb! # ok 20 - MATCH [79]: q # !f\\b! # ok 21 - MATCH [84]: q # ! # f\\\b # ! # ok 22 - MATCH [86]: q!f\\'! # ok 23 - MATCH [88]: q!f\\\!! # ok 24 - MATCH [90]: q{} # ok 25 - MATCH [92]: q{f} # ok 26 - MATCH [94]: q {f\'b} # ok 27 - MATCH [100]: q # { # {{{f\nb}}} # ([< # } # ok 28 - MATCH [102]: q{f\\b} # ok 29 - MATCH [104]: q{f\\\b} # ok 30 - MATCH [106]: q{f\\'} # ok 31 - MATCH [108]: q{f\\\}} # ok 32 - MATCH [110]: q[] # ok 33 - MATCH [112]: q[f] # ok 34 - MATCH [114]: q [f\'b] # ok 35 - MATCH [119]: q # [ # f\nb # ] # ok 36 - MATCH [121]: q[f\\b] # ok 37 - MATCH [123]: q[f\\\b] # ok 38 - MATCH [125]: q[f\\'] # ok 39 - MATCH [127]: q[f\\\]] # ok 40 - MATCH [129]: q<> # ok 41 - MATCH [131]: q # ok 42 - MATCH [133]: q # ok 43 - MATCH [139]: q # < # <<<>>> # {[( # > # ok 44 - MATCH [141]: q # ok 45 - MATCH [143]: q # ok 46 - MATCH [145]: q # ok 47 - MATCH [147]: q> # ok 48 - MATCH [149]: q() # ok 49 - MATCH [151]: q(f) # ok 50 - MATCH [153]: q (f\'b) # ok 51 - MATCH [159]: q \# Comment here # ( # ((f\nb)) # {[< # ) # ok 52 - MATCH [161]: q(f\\b) # ok 53 - MATCH [163]: q(f\\\b) # ok 54 - MATCH [165]: q(f\\') # ok 55 - MATCH [167]: q(f\\\)) # ok 56 - FAIL [170]: '\\'' # ok 57 - FAIL [172]: '''' # ok 58 - FAIL [174]: 'f\\\\'' # ok 59 - FAIL [176]: q/\\' # ok 60 - FAIL [178]: q{\\' # ok 61 - FAIL [182]: q { # { # } # ok 62 - FAIL [184]: q <\\' # ok 63 - FAIL [187]: q # [\\' # ok 64 - FAIL [189]: q(\\' # ok 65 - FAIL [191]: q q\\' # ok 66 - FAIL [193]: q =\\' # 1..66 ok t/token_quotelike_words.t ........ ok 1 - MATCH: qw/foo bar baz/ # ok 2 - MATCH: qw/ foo bar baz / # ok 3 - MATCH: qw # { # )foo # {bar} # method_with_parentheses($a ? $b : $c); # ok 2 - MATCH: pack'H*',$data; # ok 3 - MATCH: unpack'H*',$data; # ok 4 - MATCH: Foo'Bar; # ok 5 - MATCH: Foo::Bar; # ok 6 - MATCH: F; # ok 7 - MATCH: indirect $foo; # ok 8 - MATCH: indirect_class_with_colon Foo::; # ok 9 - MATCH: $bar->method_with_parentheses; # ok 10 - MATCH: $bar->method_with_parentheses(); # ok 11 - MATCH: $bar->method_with_parentheses(1,'2',qr{3}); # ok 12 - MATCH: print SomeClass->method_without_parentheses + 1; # ok 13 - MATCH: print SomeClass->method_with_parentheses() + 1; # ok 14 - MATCH: sub_call(); # ok 15 - MATCH: $baz->chained_from->chained_to; # ok 16 - MATCH: a_first_thing a_middle_thing a_last_thing; # ok 17 - MATCH: (first_list_element, second_list_element, third_list_element); # ok 18 - MATCH: first_comma_separated_word, second_comma_separated_word, third_comma_separated_word; # ok 19 - MATCH: single_bareword_statement; # ok 20 - MATCH: { bareword_no_semicolon_end_of_block } # ok 21 - MATCH: $buz{hash_key}; # ok 22 - MATCH: fat_comma_left_side => $thingy; # ok 23 - MATCH: $foo eq'bar'; # ok 24 - MATCH: $foo ne'bar'; # ok 25 - MATCH: $foo ge'bar'; # ok 26 - MATCH: $foo le'bar'; # ok 27 - MATCH: $foo gt'bar'; # ok 28 - MATCH: $foo lt'bar'; # ok 29 - MATCH: q'foo'; # ok 30 - MATCH: qq'foo'; # ok 31 - MATCH: qx'foo'; # ok 32 - MATCH: qw'foo'; # ok 33 - MATCH: qr'foo'; # ok 34 - MATCH: m'foo'; # ok 35 - MATCH: s'foo'bar'; # ok 36 - MATCH: tr'fo'ba'; # ok 37 - MATCH: y'fo'ba'; # 1..37 ok t/trycatch.t ..................... 1..1 ok 1 ok t/trytiny.t ...................... 1..6 ok 1 - catch {...} interpreted as sub call ok 2 - try {...} interpreted as sub call ok 3 - Try/catch as statement ok 4 - catch {...} interpreted as sub call ok 5 - try {...} interpreted as sub call ok 6 - Try/catch as expression ok t/unpunctuated.t ................. 1..4 ok 1 - matched blokhead's wonderful JAPH! ok 2 - Redirected output ok 3 - Executed JAPH ok 4 - JAPH is correct ok t/vars.t ......................... ok 1 - $\# special case ok 2 - MATCH: $\# ok 3 - MATCH: $\#- ok 4 - MATCH: @{$obj->nextval($cat ? $dog : $fish)} ok 5 - MATCH: @{$obj->nextval($cat?$dog:$fish)->{new}} ok 6 - MATCH: @{$obj->nextval(cat()?$dog:$fish)->{new}} ok 7 - MATCH: @{$obj->nextval} ok 8 - MATCH: @{$obj->nextval($cat,$dog)->{new}} ok 9 - MATCH: $obj->nextval ok 10 - MATCH: $obj->_nextval ok 11 - MATCH: $obj->next_val_ ok 12 - MATCH: $::obj ok 13 - MATCH: %::obj:: ok 14 - MATCH: $a ok 15 - MATCH: $ a ok 16 - MATCH: $ # a ok 17 - MATCH: ${a} ok 18 - MATCH: $_ ok 19 - MATCH: $ _ ok 20 - MATCH: ${_} ok 21 - MATCH: $a[1] ok 22 - MATCH: @a[1] ok 23 - MATCH: %a[1] ok 24 - MATCH: @a[1,2,3] ok 25 - MATCH: %a[1,2,3] ok 26 - MATCH: @a[somefunc x 3] ok 27 - MATCH: %a[somefunc x 3] ok 28 - MATCH: $_[1] ok 29 - MATCH: $a{cat} ok 30 - MATCH: @a{cat} ok 31 - MATCH: %a{cat} ok 32 - MATCH: @a{qw} ok 33 - MATCH: %a{'cat',"dog"} ok 34 - MATCH: @a{somefunc $x, $y} ok 35 - MATCH: %a{somefunc($x, $y) x 3} ok 36 - MATCH: $_{cat} ok 37 - MATCH: $a->[1] ok 38 - MATCH: $a->{"cat"}[1] ok 39 - MATCH: @$listref ok 40 - MATCH: @{$listref} ok 41 - MATCH: @{ 'x' x $x } ok 42 - MATCH: $ a {'cat'} ok 43 - MATCH: $ # a # { # x # } ok 44 - MATCH: $a::b::c{d}->{$e->()} ok 45 - MATCH: $a'b'c'd{e}->{$e->()} ok 46 - MATCH: $a'b::c'd{e}->{$e->()} ok 47 - MATCH: $\#_ ok 48 - MATCH: $\#array ok 49 - MATCH: $\#{array} ok 50 - MATCH: $var[$\#var] ok 51 - MATCH: $1 ok 52 - MATCH: $11 ok 53 - MATCH: $& ok 54 - MATCH: $` ok 55 - MATCH: $' ok 56 - MATCH: $+ ok 57 - MATCH: $* ok 58 - MATCH: $. ok 59 - MATCH: $/ ok 60 - MATCH: $| ok 61 - MATCH: $, ok 62 - MATCH: $" ok 63 - MATCH: $; ok 64 - MATCH: $% ok 65 - MATCH: $= ok 66 - MATCH: $- ok 67 - MATCH: $~ ok 68 - MATCH: $^ ok 69 - MATCH: $: ok 70 - MATCH: $^L ok 71 - MATCH: $^A ok 72 - MATCH: $? ok 73 - MATCH: $! ok 74 - MATCH: $^E ok 75 - MATCH: $@ ok 76 - MATCH: $< ok 77 - MATCH: $> ok 78 - MATCH: $( ok 79 - MATCH: $) ok 80 - MATCH: $[ ok 81 - MATCH: $] ok 82 - MATCH: $^C ok 83 - MATCH: $^D ok 84 - MATCH: $^F ok 85 - MATCH: $^H ok 86 - MATCH: $^I ok 87 - MATCH: $^M ok 88 - MATCH: $^O ok 89 - MATCH: $^P ok 90 - MATCH: $^R ok 91 - MATCH: $^S ok 92 - MATCH: $^T ok 93 - MATCH: $^V ok 94 - MATCH: $^W ok 95 - MATCH: ${^WARNING_BITS} ok 96 - MATCH: ${^WIDE_SYSTEM_CALLS} ok 97 - MATCH: $^X ok 98 - MATCH: $[ ok 99 - MATCH: $$ ok 100 - MATCH: %- ok 101 - MATCH: $$foo ok 102 - MATCH: $^W ok 103 - MATCH: ${^MATCH} ok 104 - MATCH: $${^MATCH} ok 105 - MATCH: @{^_Bar} ok 106 - MATCH: ${^_Bar}[0] ok 107 - MATCH: %{^_Baz} ok 108 - MATCH: ${^_Baz}{burfle} ok 109 - FAIL: $^WIDE_SYSTEM_CALLS ok 110 - FAIL: $a-> ok 111 - FAIL: @{$ ok 112 - FAIL: $ a :: b :: c ok 113 - FAIL: $ a ' b ' c ok 114 - FAIL: \${^MATCH} ok 115 - FAIL: *var ok 116 - FAIL: *$var ok 117 - FAIL: *{var} ok 118 - FAIL: *{$var} ok 119 - FAIL: *var{cat} ok 120 - FAIL: \&var ok 121 - FAIL: \&mod::var ok 122 - FAIL: \&mod'var ok 123 - FAIL: $a-> ok 124 - FAIL: $a (1..3) { print $a } 1..124 ok t/yadayadayada.t ................. 1..3 ok 1 - Pure yada ok 2 - Partial yada ok 3 - Not an expression ok All tests successful. Files=75, Tests=1253, 17 wallclock secs ( 0.32 usr 0.08 sys + 14.84 cusr 1.36 csys = 16.60 CPU) Result: PASS make[1]: Leaving directory '/build/reproducible-path/libppr-perl-0.001010' create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --destdir=debian/libppr-perl/ make -j21 install DESTDIR=/build/reproducible-path/libppr-perl-0.001010/debian/libppr-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr make[1]: Entering directory '/build/reproducible-path/libppr-perl-0.001010' Manifying 2 pod documents Installing /build/reproducible-path/libppr-perl-0.001010/debian/libppr-perl/usr/share/perl5/PPR.pm Installing /build/reproducible-path/libppr-perl-0.001010/debian/libppr-perl/usr/share/perl5/PPR/X.pm Installing /build/reproducible-path/libppr-perl-0.001010/debian/libppr-perl/usr/share/man/man3/PPR::X.3pm Installing /build/reproducible-path/libppr-perl-0.001010/debian/libppr-perl/usr/share/man/man3/PPR.3pm make[1]: Leaving directory '/build/reproducible-path/libppr-perl-0.001010' dh_installdocs dh_installchangelogs dh_installman dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'libppr-perl' in '../libppr-perl_0.001010-2_all.deb'. dpkg-genbuildinfo --build=binary -O../libppr-perl_0.001010-2_i386.buildinfo dpkg-genchanges --build=binary -O../libppr-perl_0.001010-2_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/126956/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/126956/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/126956 and its subdirectories I: Current time: Fri Nov 14 19:58:26 +14 2025 I: pbuilder-time-stamp: 1763099906