home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0"?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">
- <html xmlns="http://www.w3.org/TR/xhtml1">
- <head>
- <title>perlwin32faq9 - Modules and sample scripts</title>
- <link rev="made" href="mailto:bjepson@debian.ids.net" />
- <meta name="GENERATOR" charset="iso-8859-1" />
- <link rel="STYLESHEET" href="../win32prk.css" type="text/css"
- media="screen" />
- </head>
-
- <body bgcolor="#ffffff">
- <!-- beginning of leaf header-->
-
- <table width="100%">
- <tr>
- <td bgcolor="000000" width="70" height="31"><a href=
- "http://www.activestate.com/"><img src="ASbutton.gif" alt=
- "ActiveState Home Page" border="0" width="68" height=
- "30" /></a></td>
-
- <td width="10" bgcolor="#ffffff"> </td>
-
- <td valign="middle" bgcolor="#cc0066"><font face=
- "sans-serif" size="+1" color="#ff99cc">
- Win32 FAQ</font></td>
- </tr>
- </table>
- <!-- end of leaf content--><!-- INDEX BEGIN -->
-
- <ul>
- <li><a href="#NAME">NAME</a></li>
-
- <li>
- <a href="#DESCRIPTION">DESCRIPTION</a>
-
- <ul>
- <li><a href="#How_can_I_use_modules_from_CPAN_">How can I
- use modules from CPAN?</a></li>
-
- <li><a href="#Where_do_I_get_a_Win32_make">Where do I get
- make for Win32?</a></li>
-
- <li><a href="#How_do_I_access_databases_from_m">How do I
- access databases from my Perl script?</a></li>
-
- <li><a href="#Is_there_a_way_to_use_OLE_Automa">Is there
- a way to use OLE Automation servers from my Perl
- script?</a></li>
-
- <li><a href="#Is_there_a_way_to_access_Data_Ac">Is there
- a way to access Data Access Objects (DAO) from my
- Perl</a></li>
-
- <li><a href="#Can_I_send_Internet_mail_from_Pe">Can I
- send Internet mail from Perl for Win32?</a></li>
-
- <li><a href="#Is_there_a_way_to_access_MAPI_fr">Is there
- a way to access MAPI from my Perl script?</a></li>
-
- <li><a href="#Is_there_a_DBM_implementation_av">Is there
- a DBM implementation available for Perl for
- Win32?</a></li>
-
- <li><a href="#Is_there_a_GDBM_available_for_Pe">Is there
- a GDBM available for Perl for Win32?</a></li>
-
- <li><a href="#Is_there_a_way_to_do_GUI_program">Is there
- a way to do GUI programming with Perl for Win32?</a></li>
-
- <li><a href="#Is_there_a_port_of_Oraperl_for_W">Is there
- a port of Oraperl for Win32?</a></li>
-
- <li><a href="#What_modules_come_with_the_Perl_">What
- modules come with the Perl for Win32
- distribution?</a></li>
-
- <li><a href="#Where_can_I_find_other_modules_f">Where can
- I find other modules for Perl for Win32?</a></li>
-
- <li><a href="#Is_there_a_GD_module_available_f">Is there
- a GD module available for Perl for Win32?</a></li>
-
- <li><a href="#What_is_CPAN_and_how_do_I_use_it">What is
- CPAN and how do I use it?</a></li>
-
- <li><a href="#Is_there_a_library_to_read_or_wr">Is there
- a library to read or write Microsoft Office or
- other</a></li>
- </ul>
- </li>
-
- <li><a href="#AUTHOR_AND_COPYRIGHT">AUTHOR AND
- COPYRIGHT</a></li>
- </ul>
- <!-- INDEX END -->
- <hr />
- <br />
-
- <h1><a name="NAME">NAME</a></h1>
-
- <p>perlwin32faq9 - Modules and sample scripts</p>
- <br />
- <hr />
-
- <h1><a name="DESCRIPTION">DESCRIPTION</a></h1>
- <br />
- <hr />
-
- <h2><a name="How_can_I_use_modules_from_CPAN_">How can I use
- modules from CPAN?</a></h2>
-
- <p>As of version 5.005, Perl for Win32 supports the MakeMaker
- utility. This allows you to install modules from <font size=
- "-1">CPAN,</font> but requires you to have a make utility, such
- as nmake or dmake. Modules are generally distributed in gzipped
- tar files, such as <em>Data-Dumper-2.08.tar.gz</em>.</p>
-
- <p>However, Perl for Win32 includes the Perl Package Manager
- <font size="-1">(PPM),</font> a utility that allows you to
- install modules, including modules that contain binary
- extensions. You should consider using <font size="-1">
- PPM</font> to install a module, as this greatly simplifies the
- management of modules.</p>
-
- <p>Nevertheless, there are times when it is necessary to build
- a module from source. Typically, an installation session goes
- something like this:</p>
-
- <ol>
- <li>
- <strong><a name="item_"></a></strong>
-
- <p>Extract the module. This creates a directory based on
- the name of the archive.</p>
- <br />
- <pre>
- gzip -d -c Data-Dumper-2.08.tar.gz | tar xvf -
- </pre>
- </li>
-
- <li>
-
-
- <p>Change directory to the module's directory.</p>
- <br />
- <pre>
- cd Data-Dumper-2.08
- </pre>
- </li>
-
- <li>
-
-
- <p>Consult the <font size="-1">README</font> file.</p>
- <br />
- <pre>
- more < README
- </pre>
- </li>
-
- <li>
-
-
- <p>Run the <em>Makefile.PL</em> script. This uses the
- MakeMaker module to build a makefile you can build the
- extension with.</p>
- <br />
- <pre>
- perl Makefile.PL
- </pre>
- </li>
-
- <li>
-
-
- <p>Run your make utility. This prepares the module for
- installation, and compiles any extension if one is
- present.</p>
- <br />
- <pre>
- nmake
- </pre>
- </li>
-
- <li>
-
-
- <p>If this module has tests, run them.</p>
- <br />
- <pre>
- nmake test
- </pre>
- </li>
-
- <li>
-
-
- <p>If the tests succeeded, install the module.</p>
- <br />
- <pre>
- nmake install
- </pre>
- </li>
- </ol>
-
- <p>See <a href=
- "perlwin32faq4.html#Where_can_I_find_Win32_ports_of_">Where can
- I find Win32 ports of UNIX tools?</a> for information on the
- availability of tools like gzip and tar.</p>
- <br />
- <hr />
-
- <h2><a name="Where_do_I_get_a_Win32_make">Where do I get make
- for Win32?</a></h2>
-
- <dl>
- <dt><strong><a name="item_nmake">nmake</a></strong></dt>
-
- <dd>
- <p>nmake is a 'make' like program for Win32 systems by
- Microsoft. It is available from <a href=
- "ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe">
- ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe</a></p>
- <br />
- </dd>
- </dl>
- <hr />
-
- <h2><a name="How_do_I_access_databases_from_m">How do I access
- databases from my Perl script?</a></h2>
-
- <dl>
- <dt><strong><a name="item_ADO">ADO</a></strong></dt>
-
- <dd>
- <p>The ActiveX Data Objects <font size="-1">(ADO)</font>
- <font size="-1">API</font> can be used with the Win32::OLE
- module. You can use <font size="-1">ADO</font> to access
- any <font size="-1">ODBC</font> data source. The
- Perl-Win32-Database <font size="-1">FAQ</font> includes
- some information on <font size="-1">ADO:</font></p>
- <br />
- <pre>
- <a href=
- "http://www.fastnetltd.ndirect.co.uk/Perl/perl-win32-database.html">http://www.fastnetltd.ndirect.co.uk/Perl/perl-win32-database.html</a>
- </pre>
-
- <p>The <font size="-1">ADO</font> home page is located
- at:</p>
- <br />
- <pre>
- <a href=
- "http://www.microsoft.com/data/ado/">http://www.microsoft.com/data/ado/</a>
- </pre>
- </dd>
-
- <dt><strong><a name="item_Win32">
- Win32::ODBC</a></strong></dt>
-
- <dd>
- <p>There are a couple of extensions that have been
- developed to access databases from Perl for Win32.
- Win32::ODBC is widely popular, and is available on <font
- size="-1">CPAN</font> and at this <font size="-1">
- URL:</font></p>
- <br />
- <pre>
- <a href=
- "http://www.roth.net/odbc/">http://www.roth.net/odbc/</a>
- </pre>
- </dd>
-
- <dt><strong><a name="item_DBI">DBI</a></strong></dt>
-
- <dd>
- <p> <font size="-1">DBI,</font> a Database Interface Module
- for Perl provides a consistent interface for database
- application development. <font size="-1">DBI</font>
- supports <font size="-1">ODBC</font> drivers as well as the
- native APIs of certain databases, including Oracle. The
- <font size="-1">DBI</font> home page is located at:</p>
- <br />
- <pre>
- <a href=
- "http://www.hermetica.com/technologia/perl/DBI/index.html">http://www.hermetica.com/technologia/perl/DBI/index.html</a>
- </pre>
- </dd>
-
- <dt><strong><a name="item_Sybase">Sybase</a></strong></dt>
-
- <dd>
- <p>The Sybperl module allows you to connect to Sybase <font
- size="-1">SQL</font> Server (and possibly Microsoft <font
- size="-1">SQL</font> Server). The Sybperl home page, which
- includes links to binary releases of Sybperl, is located
- at:</p>
- <br />
- <pre>
- <a href=
- "http://www.mbay.net/~mpeppler/">http://www.mbay.net/~mpeppler/</a>
- </pre>
- </dd>
- </dl>
-
- <p>If you choose to use a database <font size="-1">API</font>
- that depends on <font size="-1">ODBC,</font> you must have an
- <font size="-1">ODBC</font> driver for the <font size="-1">
- DBMS</font> you're using. You will need to configure a data
- source for that driver on each machine that needs to access the
- database. For more information on <font size="-1">ODBC</font>
- and how to configure a data source, check the <font size="-1">
- ODBC</font> Control Panel help.</p>
-
- <p>Some DBMSs, such as Microsoft Access and Microsoft <font
- size="-1">SQL</font> Server, can be controlled through <font
- size="-1">OLE</font> Automation (see the next question). See
- the product documentation for details.</p>
- <br />
- <hr />
-
- <h2><a name="Is_there_a_way_to_use_OLE_Automa">Is there a way
- to use OLE Automation servers from my Perl script?</a></h2>
-
- <p>Yes. See the documentation for the Win32::OLE module, which
- is included with Perl. You can use Win32::OLE to control a wide
- range of Win32 applications and APIs, including <font size=
- "-1">ADO.</font></p>
-
- <p>After reading the documentation, you can read the <a href=
- "perlwin32faq12.html">FAQ on using OLE</a>.</p>
- <br />
- <hr />
-
- <h2><a name="Is_there_a_way_to_access_Data_Ac">Is there a way
- to access Data Access Objects (DAO) from my Perl
- script?</a></h2>
-
- <p>You should use Win32::OLE to access this <font size="-1">
- API.</font> See question <a href=
- "#Is_there_a_way_to_use_OLE_Automa">Is there a way to use OLE
- Automation servers from my Perl script?</a> and consult the
- <font size="-1">DAO</font> documentation.</p>
- <br />
- <hr />
-
- <h2><a name="Can_I_send_Internet_mail_from_Pe">Can I send
- Internet mail from Perl for Win32?</a></h2>
-
- <p>If you need to send Internet mail, you should use Net::SMTP,
- Mail::Sender, or Mail::Sendmail. For more information on these
- modules, see <a href=
- "perlwin32faq4.html#How_do_I_send_email_from_Perl_fo">How do I
- send email from Perl for Win32?</a>.</p>
- <br />
- <hr />
-
- <h2><a name="Is_there_a_way_to_access_MAPI_fr">Is there a way
- to access MAPI from my Perl script?</a></h2>
-
- <p>You can use the Win32::OLE module to create an instance of a
- <font size="-1">MAPI</font> session and send a message. In
- order for this to work, you must have messaging configured
- correctly on your machine. If you can are using Microsoft
- Exchange, chances are this will work fine.</p>
-
- <p>If you need to send Internet mail, you should use Net::SMTP.
- For more information on Net::SMTP, see <a href=
- "perlwin32faq4.html#How_do_I_send_email_from_Perl_fo">How do I
- send email from Perl for Win32?</a>. Here is an example script
- that sends mail using <font size="-1">MAPI:</font></p>
- <br />
- <pre>
- # Sender's Name and Password
- #
- my $sender = "YOUR NAME HERE";
- my $passwd = "YOUR PASSWORD HERE";
-
- use Win32::OLE;
-
- # MAPI.Session needs the specialized COINIT_OLEINITIALIZE flag.
- # (Most other components do not need it, see the OLE
- # documentation for more about this.)
- #
- Win32::OLE->Initialize(Win32::OLE::COINIT_OLEINITIALIZE);
-
- # Create a new MAPI Session
- #
- $session = Win32::OLE->new("MAPI.Session")
- or die "Could not create a new MAPI Session: $!";
-
- # Attempt to log on.
- #
- my $err = $session->Logon($sender, $passwd);
- if ($err) {
- die "Logon failed: $!";
- }
-
- # Add a new message to the Outbox.
- #
- $msg = $session->Outbox->Messages->Add();
-
- # Add the recipient.
- #
- $rcpt = $msg->Recipients->Add();
- $rcpt->{Name} = "RECIPIENT NAME HERE";
- $rcpt->Resolve();
-
- # Create a subject and a body.
- #
- $msg->{Subject} = "Test Message";
- $msg->{Text} = <<EOF;
- This is a sample test message.
-
- Cheers,
-
- Mr. Email
-
- EOF
-
- # Send the message and log off.
- #
- $msg->Update();
- $msg->Send(0, 0, 0);
- $session->Logoff();
- </pre>
- <br />
- <hr />
-
- <h2><a name="Is_there_a_DBM_implementation_av">Is there a DBM
- implementation available for Perl for Win32?</a></h2>
-
- <p>Yes, there is. SDBM_File is a free clone of <font size="-1">
- DBM,</font> and is implemented and distributed with the Perl
- for Win32 distribution. You can use it as follows:</p>
- <br />
- <pre>
- use SDBM_File;
- use Fcntl;
-
- tie( %myhash, "SDBM_File", 'myfile', O_RDWR | O_CREAT | O_BINARY, 0666 )
- or die( "Can't tie: $!" );
-
- $myhash{"bibim"} = "bap";
-
- untie( %myhash );
- </pre>
-
- <p>After the <font size="-1">DBM</font> file is tied, you can
- use it just like any other hash.</p>
- <br />
- <hr />
-
- <h2><a name="Is_there_a_GDBM_available_for_Pe">Is there a GDBM
- available for Perl for Win32?</a></h2>
-
- <p> <font size="-1">GDBM,</font> <font size="-1">NDBM,</font>
- and <font size="-1">ODBM</font> do not build on Win32.</p>
- <br />
- <hr />
-
- <h2><a name="Is_there_a_way_to_do_GUI_program">Is there a way
- to do GUI programming with Perl for Win32?</a></h2>
-
- <p>As of the Perl Resource Kit for Win32, the Tk library has
- been successfully ported to Perl for Win32. Tk version 8xx and
- above also now has the look and feel of Windows programs, and
- not the old <font size="-1">UNIX</font> look of previous
- versions.</p>
-
- <p>You can also use the Win32::GUI module which also allows for
- GUI's to be made/manipulated using Perl. This module uses the
- standard Windows widgets to give the look and feel of Windows
- programs.</p>
-
- <p>For Tk information, go to <a href=
- "http://w4.lns.cornell.edu/~pvhp/ptk/ptkTOC.html">
- http://w4.lns.cornell.edu/~pvhp/ptk/ptkTOC.html</a></p>
-
- <p>For Win32::GUI, go to <a href=
- "http://www.divinf.it/dada/perl/gui/">
- http://www.divinf.it/dada/perl/gui/</a>.</p>
-
- <p><code>Win32::MsgBox</code> allows for a fast and easy way to
- display a Windows message box, for example:</p>
-
- <blockquote>
- <p><code>use Win32;<br />
- <br />
- MsgBox("Test", "This is a test", 48);<br />
- # display a message box with an exclamation mark and an 'Ok'
- button<br />
- <br />
- sub MsgBox {<br />
- my ($caption, $message,
- $icon_buttons) = @_;<br />
- my @return = qw/- Ok Cancel Abort
- Retry Ignore Yes No/;<br />
- my $result = Win32::MsgBox($message,
- $icon_buttons, $caption);<br />
- return $return[$result];<br />
- }</code></p>
- </blockquote>
-
- <p>The last value, $icon_buttons, is the sum of two values, the
- value for the icon and the value for the buttons. For example,
- if you need a message box with a question mark and the 'Ok' and
- 'Cancel' buttons the value you want is 32 (question mark) + 1
- (Ok, Cancel) = 39. The values are listed here:</p>
-
- <blockquote>
- <p><code>Icons:<br />
- 0 - no icon<br />
- 16 - Hand<br />
- 32 - Question<br />
- 48 - Exclamation<br />
- 64 - Asterisk<br />
- <br />
- Buttons:<br />
- 0 - Ok<br />
- 1 - Ok, Cancel<br />
- 2 - Abort, Retry, Ignore<br />
- 3 - Yes, No, Cancel<br />
- 4 - Yes, No<br />
- 5 - Retry, Cancel</code></p>
- </blockquote>
- <br />
- <hr />
-
- <h2><a name="Is_there_a_port_of_Oraperl_for_W">Is there a port
- of Oraperl for Win32?</a></h2>
-
- <p>Oraperl is available as an emulation layer on top of
- DBD::Oracle. Oraperl is included with the DBD::Oracle
- distribution. Because the <font size="-1">DBI</font> interface
- is evolving, the Oraperl emulation layer is recommended because
- its <font size="-1">API</font> is fairly stable.</p>
-
- <p>Patches are available for DBD::Oracle that allow it to build
- on Windows <font size="-1">NT.</font> More information is
- available at:</p>
- <br />
- <pre>
- <a href=
- "http://www.hermetica.com/technologia/perl/DBI/win32/index.html">http://www.hermetica.com/technologia/perl/DBI/win32/index.html</a>
- </pre>
-
- <p>Binary distributions of <font size="-1">DBI</font> and
- DBD::Oracle are available from:</p>
- <br />
- <pre>
- <a href=
- "http://www.access.digex.net/~jurlwin/">http://www.access.digex.net/~jurlwin/</a>
- </pre>
- <br />
- <hr />
-
- <h2><a name="What_modules_come_with_the_Perl_">What modules
- come with the Perl for Win32 distribution?</a></h2>
-
- <p>Along with the standard library files, there are several
- Win32-specific modules that are distributed with Perl for
- Win32. These include:</p>
-
- <ul>
- <li><strong><a name="item_Win32">Win32::Clipboard: Perl
- module for Windows clipboard interaction</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::Console: Perl module
- for Windows console interaction</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::ChangeNotification:
- Create and use ChangeNotification objects</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::Event: Use Win32
- event objects from Perl</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::EventLog: Read from
- and write to the Windows NT event log</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::File: Manage file
- attributes (read only, system, hidden...)</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::FileSecurity: manage
- ACLs in Perl</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::Internet: Perl module
- for Internet extensions</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::IPC: Wait for objects
- (processes, mutexes, semaphores)</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::Mutex: Create and use
- mutexes</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::NetAdmin: Administer
- users and groups</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::NetResource: Manage
- resources (servers, file shares, printers)</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::ODBC: work with ODBC
- data sources</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::OLE: Use OLE
- automation from Perl</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::Pipe: Perl module for
- pipes</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::Process: Start and
- stop Win32 processes</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::Registry: Read and
- manage the Win32 Registry</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::Semaphore: Create and
- use semaphores</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::Service: Manage
- Windows NT services</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::Shortcut: Perl module
- for shell link interface</a></strong></li>
-
- <li><strong><a name="item_Win32">Win32::WinError: For
- retrieving Win32-defined errors</a></strong></li>
- </ul>
-
- <p>These are documented on the Win32mod documentation page.
- There are also a number of subs built into the Win32 package,
- namely:</p>
-
- <ul>
- <li><strong><a name="item_AbortSystemShutdown">
- AbortSystemShutdown: I mean, don't shut down this
- computer</a></strong></li>
-
- <li><strong><a name="item_DomainName">DomainName: Name of the
- domain this machine is in</a></strong></li>
-
- <li><strong><a name="item_ExpandEnvironmentStrings">
- ExpandEnvironmentStrings: Take a string like %HOMEPATH% and
- expand it to the actual value</a></strong></li>
-
- <li><strong><a name="item_FormatMessage">FormatMessage:
- Format a Win32 error code into a error
- message</a></strong></li>
-
- <li><strong><a name="item_FsType">FsType: Get the file system
- type of a drive</a></strong></li>
-
- <li><strong><a name="item_GetCwd">GetCwd: Get current working
- directory</a></strong></li>
-
- <li><strong><a name="item_GetLastError">GetLastError:
- Retrieve the last Win32 error code.</a></strong></li>
-
- <li><strong><a name="item_GetNextAvailDrive">
- GetNextAvailDrive: Returns the next available drive
- letter</a></strong></li>
-
- <li><strong><a name="item_GetOSVersion">GetOSVersion: Get
- Win32 operating system version</a></strong></li>
-
- <li><strong><a name="item_GetShortPathName">GetShortPathName:
- Returns the 8.3 name of a filename</a></strong></li>
-
- <li><strong><a name="item_GetTickCount">GetTickCount: Time
- since Windows started, in milliseconds (for
- timing)</a></strong></li>
-
- <li><strong><a name="item_InitiateSystemShutdown">
- InitiateSystemShutdown: Shut down this
- computer</a></strong></li>
-
- <li><strong><a name="item_IsWinNT">IsWinNT: Is this Windows
- NT?</a></strong></li>
-
- <li><strong><a name="item_IsWin95">IsWin95: Or, is it Windows
- 95?</a></strong></li>
-
- <li><strong><a name="item_LoginName">LoginName: Name of
- logged-in user</a></strong></li>
-
- <li><strong><a name="item_LookupAccountName">
- LookupAccountName: Given a user name, get domain, SID, SID
- type</a></strong></li>
-
- <li><strong><a name="item_LookupAccountSID">LookupAccountSID:
- Given a SID, get domain, user name, SID
- type</a></strong></li>
-
- <li><strong><a name="item_NodeName">NodeName: Name of this
- machine</a></strong></li>
-
- <li><strong><a name="item_SetCwd">SetCwd: Set current working
- directory</a></strong></li>
-
- <li><strong><a name="item_Sleep">Sleep: Sleep for a given
- number of milliseconds</a></strong></li>
-
- <li><strong><a name="item_Spawn">Spawn: Spawn a Win32
- process</a></strong></li>
-
- <li><strong><a name="item_ExpandEnvironmentStrings">
- ExpandEnvironmentStrings: Take a string like %HOMEPATH% and
- expand it to the actual value</a></strong></li>
- </ul>
-
- <p>No longer included in the Win32 module:</p>
-
- <ul>
- <li><strong><a name="item_PerlVersion">PerlVersion: Use $]
- instead</a></strong></li>
-
- <li><strong><a name="item_GetArchName">GetArchName: Use
- $ENV{PROCESSOR_ARCHITECTURE}</a></strong></li>
-
- <li><strong><a name="item_GetChipName">GetChipName: Use
- $ENV{PROCESSOR_LEVEL} .
- $ENV{PROCESSOR_ARCHITECTURE}</a></strong></li>
- </ul>
- <br />
- <hr />
-
- <h2><a name="Where_can_I_find_other_modules_f">Where can I find
- other modules for Perl for Win32?</a></h2>
-
- <p>Modules for Perl for Win32 are available on <font size="-1">
- CPAN</font> (Comprehensive Perl Archive Network), a Perl
- archive that's mirrored around the world. To find your nearest
- mirror, check here:</p>
- <br />
- <pre>
- <a href=
- "http://www.perl.com/perl/CPAN/modules/by-module/Win32/">http://www.perl.com/perl/CPAN/modules/by-module/Win32/</a>
- </pre>
-
- <p>(Note that this will send you to your nearest mirror
- automagically. Cool, huh?)</p>
- <br />
- <hr />
-
- <h2><a name="Is_there_a_GD_module_available_f">Is there a GD
- module available for Perl for Win32?</a></h2>
-
- <p> <font size="-1">GD</font> now works with Win32, and can be
- installed using <font size="-1">PPM</font> (the Perl Package
- Manager). <font size="-1">GD</font> is also shipped with the
- Perl Resource Kit for Win32. This graphics library allows the
- creation and some manipulation of industry standard <font size=
- "-1">GIF</font> format images.</p>
- <br />
- <hr />
-
- <h2><a name="What_is_CPAN_and_how_do_I_use_it">What is CPAN and
- how do I use it?</a></h2>
-
- <p> <font size="-1">CPAN</font> is the Comprehensive Perl
- Archive Network, a collection of pretty much every file you
- could ever want for Perl programming. The original archive is
- in Finland, but it is mirrored on <font size="-1">FTP</font>
- servers throughout the world.</p>
-
- <p>You can connect to your closest <font size="-1">CPAN</font>
- mirror using the <font size="-1">CPAN</font> redirector at <a
- href="http://www.perl.com.">http://www.perl.com.</a> The
- following <font size="-1">URL:</font></p>
- <br />
- <pre>
- <a href=
- "http://www.perl.com/CPAN/">http://www.perl.com/CPAN/</a>
- </pre>
-
- <p>will redirect your browser to the nearest <font size="-1">
- CPAN</font> mirror (one on your continent and maybe only a few
- hops away). This <font size="-1">URL</font></p>
- <br />
- <pre>
- <a href="http://www.perl.com/CPAN">http://www.perl.com/CPAN</a>
- </pre>
-
- <p>lets you pick a <font size="-1">CPAN</font> mirror site
- yourself, as well as giving a little more information.</p>
-
- <p> <font size="-1">CPAN</font> is good for finding Perl for
- Win32 distributions as well as modules and scripts. However,
- read <a href="#How_can_I_use_modules_from_CPAN_"></a></p>
- <pre>
- How can I use modules from CPAN?
- </pre>
- for more information. <br />
- <hr />
-
- <h2><a name="Is_there_a_library_to_read_or_wr">Is there a
- library to read or write Microsoft Office or other application
- files?</a></h2>
-
- <p>In general, there aren't any library modules to read or
- write application files, like Microsoft Word, Microsoft Excel,
- Microsoft Access, WordPerfect, Lotus 1-2-3, etc.</p>
-
- <p>However, many if not most major Windows applications now
- support <font size="-1">OLE</font> Automation. You can use the
- <font size="-1">OLE</font> Automation support of Microsoft
- Office applications to read and write their file formats, for
- example. See the documentation on your application for
- information on its support for <font size="-1">OLE</font>
- Automation. See <a href="#Is_there_a_way_to_use_OLE_Automa">Is
- there a way to use OLE Automation servers from my Perl
- script?</a> for more information.</p>
-
- <p>As a special case, many database files, like Microsoft
- Access, FoxPro, dBase or Paradox files, can be accessed using
- <font size="-1">ODBC</font> (Open DataBase Connectivity). See
- <a href="#How_do_I_access_databases_from_m">How do I access
- databases from my Perl script?</a> for details on how to use
- <font size="-1">ODBC</font> with Perl for Win32.</p>
- <br />
- <hr />
-
- <h1><a name="AUTHOR_AND_COPYRIGHT">AUTHOR AND
- COPYRIGHT</a></h1>
-
- <p>This <font size="-1">FAQ</font> was originally assembled and
- maintained by Evangelo Prodromou. <a href=
- "mailto:evangelo@endcontsw.com">evangelo@endcontsw.com.</a> It
- has been revised and updated by Brian Jepson of O'Reilly and
- Associates, David Grove, David Dmytryshyn of ActiveState,
- Henning Michael Møller-Nielsen of RTO and Kevin
- Meltzer.</p>
-
- <p>This <font size="-1">FAQ</font> is in the public domain. If
- you use it, however, please ensure that you give credit to the
- original authors.</p>
-
- <p><!-- beginning of leaf footer--></p>
-
- <table width="100%">
- <tr>
- <td bgcolor="000000" width="70" height="31"><a href=
- "http://www.activestate.com/"><img src="ASbutton.gif" alt=
- "ActiveState Home Page" border="0" width="68" height=
- "30" /></a></td>
-
- <td width="10"> </td>
-
- <td valign="middle" bgcolor="#cc0066"><font face=
- "sans-serif" size="+1" color="#ff99cc">
- Win32 FAQ</font></td>
- </tr>
- </table>
- <!-- end of leaf footer-->
- </body>
- </html>
-
-