#!/usr/bin/env perl #### #!/usr/bin/env perl use 5.014; use strict; use warnings; ... #### $ alias perle alias perle='perl -Mstrict -Mwarnings -Mautodie=:all -E' $ perlbrew switch perl-5.24.0t $ perl -v | head -2 | tail -1 This is perl 5, version 24, subversion 0 (v5.24.0) built for darwin-thread-multi-2level $ perle 'my $x = [qw{a b c}]; say "@{$x}"; say "$x->@*"' a b c a b c $ perlbrew switch perl-5.22.0t $ perl -v | head -2 | tail -1 This is perl 5, version 22, subversion 0 (v5.22.0) built for darwin-thread-multi-2level $ perle 'my $x = [qw{a b c}]; say "@{$x}"; say "$x->@*"' a b c ARRAY(0x7ff4d2805480)->@* $ perle 'no warnings "experimental::postderef"; use feature qw{postderef postderef_qq}; my $x = [qw{a b c}]; say "@{$x}"; say "$x->@*"' a b c a b c $ perlbrew switch perl-5.20.0t $ perl -v | head -2 | tail -1 This is perl 5, version 20, subversion 0 (v5.20.0) built for darwin-thread-multi-2level $ perle 'no warnings "experimental::postderef"; use feature qw{postderef postderef_qq}; my $x = [qw{a b c}]; say "@{$x}"; say "$x->@*"' a b c a b c $ perlbrew switch perl-5.18.0t $ perl -v | head -2 | tail -1 This is perl 5, version 18, subversion 0 (v5.18.0) built for darwin-thread-multi-2level $ perle 'no warnings "experimental::postderef"; use feature qw{postderef postderef_qq}; my $x = [qw{a b c}]; say "@{$x}"; say "$x->@*"' Unknown warnings category 'experimental::postderef' at -e line 1. BEGIN failed--compilation aborted at -e line 1. #### ... use version; our $VERSION = qv("v1.2.3"); # deprecated ... our $VERSION = "1.0203"; # recommended ... #### ... { my $re; BEGIN { $re = qr{(?x: [%/?<>\\:*|":] )} } for ... { ... s/$re/_/gr; } } #### $ perle 'my $re; BEGIN { $re = qr{(?x: [%/?<>\\:*|":] )} } say q{%/?<>\\:*|":} =~ s/$re/_/gr' ___________ $ perle 'say q{%/?<>\\:*|":} =~ y{%/?<>\\:*|":}{_}r' ___________ $ for i in {1..5}; do perle 'use Benchmark qw{cmpthese}; my $re; BEGIN { $re = qr{(?x: [%/?<>\\:*\|":] )} }; my $str = q{%/?<>\\:*|":}; cmpthese 0 => { s => sub { $str =~ s/$re/_/gr }, y => sub { $str =~ y{%/?<>\\:*|":}{_}r } }'; done Rate s y s 212144/s -- -96% y 5420361/s 2455% -- Rate s y s 204213/s -- -96% y 5632150/s 2658% -- Rate s y s 201600/s -- -97% y 5771041/s 2763% -- Rate s y s 204103/s -- -96% y 5026909/s 2363% -- Rate s y s 222651/s -- -96% y 5600560/s 2415% -- #### { my @uris; my $finder_code = sub { push @uris, shift }; sub finder_sub { push @uris, shift } for ... { ... @uris = (); my $code_finder = URI::Find::->new($finder_code); my $sub_finder = URI::Find::->new(\&finder_sub); ... } }