#!/usr/bin/env perl use strict; use warnings; use feature qw(say); while (<<>>) {say} __END__ #### perl -MO=Deparse double_bracket_op.pl double_bracket_op.pl use warnings; use strict; use feature 'say'; while (defined($_ = <<>>)) { say $_; } __DATA__ double_bracket_op.pl syntax OK #### #!/usr/bin/env perl use strict; use warnings; use Cpanel::JSON::XS; use feature qw(say); use Data::Dump; use Path::Tiny; my @data = ; chomp @data; dd \@data; my $json = encode_json \@data; dd $json; my $file = path(q(json.dat)); $file->spew_utf8($json); my $data = decode_json $file->slurp_utf8; dd $data; say q(Cool beans!); __DATA__ foo bar nose cuke #### package MyClass; use Class::Tiny qw(something); use Role::Tiny::With; use feature qw(say); say q(package ) . __PACKAGE__; with qw(MyRole); 1; package MyRole; use Role::Tiny; use feature qw(say); requires qw(something); say q(package ) . __PACKAGE__; around 'something' => sub { print q(Long John Silver said ); uc &{ (shift) }; }; 1; #!/usr/bin/env perl use strict; use warnings; use MyClass; use feature qw(say); say q(package ) . __PACKAGE__; my $object = MyClass->new( something => q("I reckon i settled you.") ); say $object->something; __END__ #### package Foo { use strict; use warnings; sub new { my ( $class, $foo ) = @_; bless \$foo, $class; \$foo; } sub foo { ${ (shift) }; } 1; } package Bar { use strict; use warnings; use parent qw(Foo); my $modify = sub { uc shift }; # my $modify = sub { ... }; sub bar { # my ( $self, $foo ) = @_; $modify->( shift->SUPER::foo() ); } 1; } #!/usr/bin/env perl use strict; use warnings; use feature qw(say); use Bar; my $object = Bar->new(q(lorem ipsum kizuaheli)); say for ( $object->foo(), $object->bar() ); __END__