in reply to Re^4: writing a pragma
in thread writing a pragma

That really depends on exactly what you want to do at compile time, doesn't it? Some things are easier than others.

use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name

Replies are listed 'Best First'.
Re^6: writing a pragma
by karthikasasanka (Acolyte) on Apr 27, 2014 at 09:16 UTC

    I want to write a pragma, which reads the contents of file where it is imported.

    1. use mypragma;

    2. use Data::Dumper;

    3. my $hash = {1,2,3,4,5,6}

    4. print Dumper $hash;

    I want to get the lines from 2,3,4 into the mypragma which was loaded into memory for this program.

    I am not sure that this is possible, I just want to try.

      sure its possible, but such a thing shouldn't be a pragma :) see caller and open and import and splice and zentara package/module tutorial....

      use NotAPragma; ...

      NotAPragma.pm

      package NotAPragma; sub import { my ($package, $filename, $line) = caller; open my($infh), '<:raw', $filename or die "Can't open caller $filename : $!"; my @lines = ( 'pad', readline $infh ); close $infh; splice @lines, 0, $line; print "@lines\n"; ## << this is the ... after use NotAPragma; } 1;
        Thank you the solution.
        can you please explain y it should not be pragma.

        does it affect anything if we write it as pragma.