NAME

My - modules with my favorite API.


SYNOPSIS

  BEGIN {
    use My;

    abuse qw(My::Debug :0 varlog $debug_print);

    abuse qw(My::GetOpt :0 import_options :getopt set);
    abuse qw(My::Util::TempName tmpnam);
    ...
  }


DESCRIPTION

My modules provide various utility functions with my favorite programming interfaces. Gzipped tar ball of very alpha version is available.


Importing

You first (or after package name declaration) have to declare to use ``My.pm''. Then you may call following subroutins to use package-name and to import some names in the package. In most cases, you should put the subroutine calls into a BEGIN block.

abuse package-name, name|options, ...

options are one of the following form:

:digits

This option specifies that the succeeding names are imported from the package of the name package-name with trailing digits components removed. The option :1 is supplied by default.

For example, the subroutine call

  abuse qw(My::Util::Packs packs);

loads the module My/Util/Packs.pm, and then makes the name packs an alias of My::Util::packs.

:variable-specregex

(undocumented yet.)

::regex

(undocumented yet.)

:-

(undocumented yet.)

:format-string

format-string is used to generate the names which are aliases of imported names, with the builtin sprintf.

abuse_ph path, name|options, ...

The contents of the file of the name path.ph are evaluated in the package My::Sys, and then importation is done in the same manner as abuse.


Object oriented programming support

My.pm also provides some OO progrmmaing support.

thisclass_internal

The value of this subroutine is the package name of caller followed by the string ``::internal''. This is mainly intended to be used as the name of place where private data of each class reside.


Available modules

Here is the list of currently available module names. For details, see the documents of each module (though most of them are not written yet).

My::Base64

Base64 decoder/encoder.

My::CGI

Subroutines for CGI script writers.

My::Chat

Subroutines to manage and communicate with child processes.

My::Conf

Convert a keywrod=value style configuration file to a Perl data.

My::Date

Convert various date formats to UTC time.

My::Debug

Subroutines for ``printf debugging''.

My::Find

Walk around a directory and its descendants.

My::GetOpt

Process command line options.

My::Grade

To analyze results of examinations.

My::INN

For InterNetNews channel feeders.

My::IO

Subroutines for I/O handling.

My::JConv

Detect and convert encoding of Japanese text.

My::M2N (class)

Modify message header of a mail to post it as a netnews article.

My::M2N2M (class)

To provide common methods for My::M2N and My::N2M.

My::MDA

For mail delivery agent writers.

My::MX

For gateways among varias Internet message exchanging protocols (mainly between SMTP and NNTP).

My::N2M

Modify message header of a netnews article to send it as a mail.

My::NNTP

Handle NetNews Transfer Protocol.

My::PrintfTab (class)

Table driven printf class.

My::RFC1342

Handle messages conforming to MIME.

My::RFC822

Handle messages conforming to RFC822.

My::SMTP

Handle Simple Mail Transfer Protocol (minimal implimentation).

My::Sock

Handle Berkley socket interface.

My::Sys

Miscellaneous things around operating system interfaces.

My::Syslog

Provide syslog related constants.

My::Tape

Abstract class to impliment a state machine.

My::Tokenize

Split a text into tokens.

My::URI

Parse Uniform Resource Identifiers.

My::Universal

Methods in UNIVERSAL class.

My::Util

Miscellaneous utility subroutines.


AUTHOR

Kiyokazu SUTO <suto@ks-and-ks.ne.jp>


SEE ALSO

<http://pub.ks-and-ks.ne.jp/prog/perl.shtml >


Any questions or comments about this page are greatly appreciated.

Almost all contents in this site are written by Kiyokazu SUTO (i.e. me) unless especially noted. I want to put all of them into the PUBLIC DOMAIN, even though some lawyers mention that it is impossible in my country.