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).

the My::Base64 manpage
Base64 decoder/encoder.

the My::CGI manpage
Subroutines for CGI script writers.

the My::Chat manpage
Subroutines to manage and communicate with child processes.

the My::Conf manpage
Convert a keywrod=value style configuration file to a Perl data.

the My::Date manpage
Convert various date formats to UTC time.

the My::Debug manpage
Subroutines for ``printf debugging''.

the My::Find manpage
Walk around a directory and its descendants.

the My::GetOpt manpage
Process command line options.

the My::Grade manpage
To analyze results of examinations.

the My::INN manpage
For InterNetNews channel feeders.

the My::IO manpage
Subroutines for I/O handling.

the My::JConv manpage
Detect and convert encoding of Japanese text.

the My::M2N manpage (class)
Modify message header of a mail to post it as a netnews article.

the My::M2N2M manpage (class)
To provide common methods for the My::M2N manpage and the My::N2M manpage.

the My::MDA manpage
For mail delivery agent writers.

the My::MX manpage
For gateways among varias Internet message exchanging protocols (mainly between SMTP and NNTP).

the My::N2M manpage
Modify message header of a netnews article to send it as a mail.

the My::NNTP manpage
Handle NetNews Transfer Protocol.

the My::PrintfTab manpage (class)
Table driven printf class.

the My::RFC1342 manpage
Handle messages conforming to MIME.

the My::RFC822 manpage
Handle messages conforming to RFC822.

the My::SMTP manpage
Handle Simple Mail Transfer Protocol (minimal implimentation).

the My::Sock manpage
Handle Berkley socket interface.

the My::Sys manpage
Miscellaneous things around operating system interfaces.

the My::Syslog manpage
Provide syslog related constants.

the My::Tape manpage
Abstract class to impliment a state machine.

the My::Tokenize manpage
Split a text into tokens.

the My::URI manpage
Parse Uniform Resource Identifiers.

the My::Universal manpage
Methods in UNIVERSAL class.

the My::Util manpage
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.