[Melbourne-pm] Perl crypto code
Michael Bombardieri
michael.bombardieri at student.curtin.edu.au
Fri Sep 22 06:03:43 PDT 2006
On Fri, 2006-09-22 at 21:59 +1000, Scott Penrose wrote:
> On 22/09/2006, at 18:29, Michael Bombardieri wrote:
>
> > Hi everyone,
> >
> > I'm posting this email here because there isn't a perth-pm list that I
> > know of. I'm a computer science student in Perth, but I used to
> > live in
> > Melbourne (Preston).
> >
> > I've been playing with cryptography in my spare time and a bit of my
> > work is now on Wiretapped.net at
> > <http://www.mirrors.wiretapped.net/pub/security/cryptography/
> > algorithms/mb/>.
> >
> > I have 2 questions to ask here:
> >
> > 1. What is the general consensus on the state of Perl6? I read that it
> > supports / will support strict data types kind of like C, which sounds
> > like a great idea. Also, that it will have its own preprocessor. I
> > haven't tried out Parrot/Pugs, so forgive me if this is a dumb
> > question.
> > Are there people actually using Perl6 at the moment or is it still too
> > infantile to do anything useful?
>
> No one is actively using Perl 6 that I know of. Pugs is the closest
> but I am not sure there is any production code. Although you never know.
>
> As for strict types you can do that now in Perl 5 using Attributes.
>
> e.g.
>
> my $AnInteger : INTEGER;
>
> Will only be an integer.
>
> While
>
> my $LimitedNumber : NUMBER(3..7);
>
> will only allow integers between 3 and 7 (inclusive).
>
> And
>
> my $ReallyLimitedName : REGEX(qw/Scott/);
>
> Any string in RealLimitedName must contain Scott
>
> You can be as limited as you like. There is a slight over head though
> - as they are effectively objects.
>
Hey, that's nice. I'd never heard of attributes. I just read 'perldoc
attributes'... great to know I can do this kind of thing.
> > 2. How difficult is it to build Perl modules? I've been thinking about
> > integrating some crypto code into Perl via a Crypt::bla module. I know
> > that some CPAN modules are written in Perl and some in C. Are there
> > any
> > good tutorials for writing modules?
>
> Package MyPerlModule;
> sub HelloWorld { print "Hello World"; }
> 1;
>
> That is a module above, but if you want a class instead so you can do OO
>
> Package MyPerlClass;
> sub new {
> my ($class) = @_;
> return bless {}, ref($class) || $class;
> }
> sub set {
> my ($self, $val) = @_;
> $self->{VAL} = $val;
> }
> sub get {
> my ($self) = @_;
> return $self->{VAL};
> }
> sub HelloWorld {
> my ($self) = @_;
> print "Hello World - value = " . $self->get . "\n";
> }
> 1;
>
> now to use it.
>
> use MyPerlClass;
> my $thing = MyPerlClass->new();
> $thing->set('Your new value');
> $thing->HelloWorld;
>
> The hard part about perl modules is the new method you have to write
> - understanding bless, and the use of "ref($class) || $class" - which
> is basically there just to allow inheritance to work and to allow new
> instances from an existing one.
>
> However, you can make it more Java like by adding some helpful
> modules - such as Class::Maker or others (see CPAN).
>
> Good luck with your modules and keep us informed or ask for any more
> help.
>
Thanks for the tutorial. Gotta love "hello world". I'll let you guys
know how things go with my modules etc.
> Scott
>
>
More information about the Melbourne-pm
mailing list