Tuesday, December 27, 2011

On To Fedora 16. Been good So far....

Just moved to Fedora 16. Great experience so far..... Some good things are:

1) Fedora 16 comes pre installed with Perl 5.14. 

2) Eclipse kept crashing in Scientific Linux 6.0 when I tried to hit the update button. Not so in Fedora 16. Works without a hitch :) Pointed the updater to EPIC and wheee.......I got EPIC working on Fedora 16!!

3) Overall, Fedora 16 is a very slick OS....You'd love it. I'm getting some font rendering issues resolved, but thats ok....

4) In case you have a Tata Photon Connectivity, here's how you can get it to work:


 

Sunday, December 25, 2011

Aaarrrgh Windows !!!!

So while working on some Perl scripts this last Sunday, I had to copy some files from my Pen Drive.....I connected it and....no response.....so I connected it to another USB Port and I get a message stating there is something wrong with my USB Ports.....Shucks.....not now....the other USB Port is where I have my USB Modem connected and was downloading something, so no chance of touching that one.....I was discussing this on chat with a friend, and whoooops, the cursor jumps......TouchFreeze was installed (God bless the dude who wrote it), BUT i recently updated W7, and past experience has told me to re install TouchFreeze....hmm....did that.....now cursor jumping is much less frequent.....

On  my office laptop, I had W7 EE 64 bit. No much issues there. Heck, its a "Highly Tweaked" version of Windows 7 that runs a lot of scripts so that the darn thing works properly. On my personal Laptop - a Lenovo Z570 though, its a whole different story. Thank God for Norton 360, else my laptop would have died every 2 hours or so.....but even if Norton takes care of that, there are certain things that just make me go mad!!. Yesterday night, suddenly, outta no where, two of the USB Ports seem to have issues....I tried rebooting, and shutdown seemed to take a long long time......more than 15 minutes??? And this has happened in the past, so I cold boot. It boots up and STILL reports problems with two USB Ports.....Then, the Blue Screen !!....Dang.....I installed Fedora 16 Desktop CD (for 64 bit)....USB Ports are working fine.....I installed SE Linux 6 (Again, 64 Bit) .....USB Ports STILL working fine. And o yeah, did I mention, that I installed all the SE 6 Packages and still the laptop boots faster and shuts down even faster than W7. And yes, how could I forget the most irritating Cursor Jumping issue??
Never ever has that happened on Fedora, or for that matter ANY Linux.....The gradual slowing down of Windows 7 I guess now has a name...Windows Rot.

I have been facing a lot of issues basically because there was a Virus in my Laptop. And the name of that Virus is Windows 7.

So for me, atleast on my Z570, I am DONE with Windows 7. I did follow a couple posts to take care of the slow shutdown issue, but thats it......No more.....Done with downloading 100MB+ Updates every week.....Done with downloading patches, Done with the Cursor Jumping issue...Done with IE 9 crashing....Done with this whole W7 frazooking malady...
Goodbye W7, Welcome Fedora/SE Linux !!

Saturday, December 24, 2011

Whats with the $ @ and %?? Whats this Context stuff?? Perldocs to the rescue!!

Hi,

On my recent journey of learning Perl, I at times got caught up not knowing when to use a $ as against a @ or %. Beginning Perl Book stated it beautifully so I came to know that the prefix ($ @ %) represents what I want to get, not what I have. While reading up more on the context part, I came across this awesome document on Perldocs that's aught to be shared.

Consider the first paragraph for example in the link below where it states -
Perl has three built-in data types: scalars, arrays of scalars, and associative arrays of scalars, known as "hashes". A scalar is a single string (of any size, limited only by the available memory), number, or a reference to something (which will be discussed in perlref). Normal arrays are ordered lists of scalars indexed by number, starting with 0. Hashes are unordered collections of scalar values indexed by their associated string key.

And consider this statement - "Scalar values are always named with '$', even when referring to a scalar that is part of an array or a hash. The '$' symbol works semantically like the English word "the" in that it indicates a single value is expected."

I love PerlDocs. :)

Friday, December 23, 2011

Installing a CPAN Module - Having fun with Strawberry Perl For Windows !!

The best thing about Strawberry Perl for Windows is, you can install a CPAN module just the same way you would do it on a UNIX Box. So....I thought why not give it a try?
As a test, tried to install the LiBXML Module and it worked.
Here is the output...the whole and complete output :)
You'll find the output below interspersed with my comments.
But first, I need to set the proxy correctly. Logging from Office has its own perils.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

Here is how I went about setting the proxy:
C:\Users\perl514>set http_proxy=http://your.proxy.server.com:8080
C:\Users\perl514>set ftp_proxy=http://your.proxy.server.com:8080
C:\Users\perl514>cpan
hmmm......it took a few seconds and then displayed :
There seems to be running another CPAN process (pid 7940). Contacting...
Other job not responding. Shall I overwrite the lockfile 'C:\Strawberry\cpan\.lock'? (Y/n) [y] y

cpan shell -- CPAN exploration and modules installation (v1.9600)
Enter 'h' for help.

cpan> install XML::LibXML
Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
Fetching with LWP:http://cpan.strawberryperl.com/modules/02packages.details.txt.gz
Fetching with LWP:http://cpan.strawberryperl.com/modules/03modlist.data.gz
Database was generated on Sun, 19 Jun 2011 04:41:34 GMT
Updating database file ...

Gathering information from index files ...
Obtaining current state of database ...
Populating database tables ...
Done!
Running install for module 'XML::LibXML'
Running make for S/SH/SHLOMIF/XML-LibXML-1.88.tar.gz
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/S/SH/SHLOMIF/XML-LibXML-1.88.tar.gz
Fetching with LWP:http://cpan.strawberryperl.com/authors/id/S/SH/SHLOMIF/CHECKSUMS
Checksum for C:\Strawberry\cpan\sources\authors\id\S\SH\SHLOMIF\XML-LibXML-1.88.tar.gz ok
Scanning cache C:\Strawberry\cpan\build for sizes
DONE

CPAN.pm: Going to build S/SH/SHLOMIF/XML-LibXML-1.88.tar.gz
enable native perl UTF8
Use of uninitialized value $config{"LIBS"} in pattern match (m//) at Makefile.PL line 282.
looking for -lxml2... yes
Checking if your kit is complete...
Looks good
Note (probably harmless): No library found for -llibgettextlib.dll
Writing Makefile for XML::LibXML
Could not read metadata file. Falling back to other methods to determine prerequisites
cp lib/XML/LibXML/DOM.pod blib\lib\XML\LibXML\DOM.pod
cp lib/XML/LibXML/ErrNo.pod blib\lib\XML\LibXML\ErrNo.pod
cp lib/XML/LibXML/SAX/Builder.pm blib\lib\XML\LibXML\SAX\Builder.pm
cp lib/XML/LibXML/DocumentFragment.pod blib\lib\XML\LibXML\DocumentFragment.pod
cp lib/XML/LibXML/Reader.pm blib\lib\XML\LibXML\Reader.pm
cp lib/XML/LibXML/XPathContext.pod blib\lib\XML\LibXML\XPathContext.pod
cp lib/XML/LibXML/InputCallback.pod blib\lib\XML\LibXML\InputCallback.pod
cp lib/XML/LibXML/Namespace.pod blib\lib\XML\LibXML\Namespace.pod
cp lib/XML/LibXML/SAX/Builder.pod blib\lib\XML\LibXML\SAX\Builder.pod
cp lib/XML/LibXML/Document.pod blib\lib\XML\LibXML\Document.pod
cp lib/XML/LibXML/Attr.pod blib\lib\XML\LibXML\Attr.pod
cp lib/XML/LibXML/SAX/Generator.pm blib\lib\XML\LibXML\SAX\Generator.pm
cp lib/XML/LibXML/CDATASection.pod blib\lib\XML\LibXML\CDATASection.pod
cp lib/XML/LibXML/Reader.pod blib\lib\XML\LibXML\Reader.pod
cp LibXML.pod blib\lib\XML\LibXML.pod
cp lib/XML/LibXML/Common.pod blib\lib\XML\LibXML\Common.pod
cp lib/XML/LibXML/RelaxNG.pod blib\lib\XML\LibXML\RelaxNG.pod
cp lib/XML/LibXML/ErrNo.pm blib\lib\XML\LibXML\ErrNo.pm
cp lib/XML/LibXML/PI.pod blib\lib\XML\LibXML\PI.pod
cp lib/XML/LibXML/Error.pod blib\lib\XML\LibXML\Error.pod
cp lib/XML/LibXML/SAX.pm blib\lib\XML\LibXML\SAX.pm
cp lib/XML/LibXML/Number.pm blib\lib\XML\LibXML\Number.pm
cp lib/XML/LibXML/Node.pod blib\lib\XML\LibXML\Node.pod
cp lib/XML/LibXML/Literal.pm blib\lib\XML\LibXML\Literal.pm
cp lib/XML/LibXML/Parser.pod blib\lib\XML\LibXML\Parser.pod
cp LibXML.pm blib\lib\XML\LibXML.pm
cp lib/XML/LibXML/XPathExpression.pod blib\lib\XML\LibXML\XPathExpression.pod
cp lib/XML/LibXML/Element.pod blib\lib\XML\LibXML\Element.pod
cp lib/XML/LibXML/SAX/Parser.pm blib\lib\XML\LibXML\SAX\Parser.pm
cp lib/XML/LibXML/Common.pm blib\lib\XML\LibXML\Common.pm
cp lib/XML/LibXML/SAX.pod blib\lib\XML\LibXML\SAX.pod
cp lib/XML/LibXML/XPathContext.pm blib\lib\XML\LibXML\XPathContext.pm
cp lib/XML/LibXML/Error.pm blib\lib\XML\LibXML\Error.pm
cp lib/XML/LibXML/Text.pod blib\lib\XML\LibXML\Text.pod
cp lib/XML/LibXML/Boolean.pm blib\lib\XML\LibXML\Boolean.pm
cp lib/XML/LibXML/Schema.pod blib\lib\XML\LibXML\Schema.pod
cp lib/XML/LibXML/RegExp.pod blib\lib\XML\LibXML\RegExp.pod
cp lib/XML/LibXML/Pattern.pod blib\lib\XML\LibXML\Pattern.pod
cp lib/XML/LibXML/NodeList.pm blib\lib\XML\LibXML\NodeList.pm
cp lib/XML/LibXML/Dtd.pod blib\lib\XML\LibXML\Dtd.pod
cp lib/XML/LibXML/Comment.pod blib\lib\XML\LibXML\Comment.pod
gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"1.88\" -DXS_VERSION=\"1.88\" "-IC:\Strawberry\perl\lib\CORE" -DHAVE_UTF8 -DHAVE_BLANK Av_CharPtrPtr.c
C:\Strawberry\perl\bin\perl.exe C:\Strawberry\perl\lib\ExtUtils\xsubpp -typemap C:\Strawberry\perl\lib\ExtUtils\typemap -typemap typemap LibXML.xs > LibXML.xsc && C:\Strawberry\perl\bin\perl.exe -MExtUtils::Command -e "mv" -- LibXML.xsc LibXML.c
gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"1.88\" -DXS_VERSION=\"1.88\" "-IC:\Strawberry\perl\lib\CORE" -DHAVE_UTF8 -DHAVE_BLANK LibXML.c
gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"1.88\" -DXS_VERSION=\"1.88\" "-IC:\Strawberry\perl\lib\CORE" -DHAVE_UTF8 -DHAVE_BLANK dom.c
gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"1.88\" -DXS_VERSION=\"1.88\" "-IC:\Strawberry\perl\lib\CORE" -DHAVE_UTF8 -DHAVE_BLANK perl-libxml-mm.c
gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"1.88\" -DXS_VERSION=\"1.88\" "-IC:\Strawberry\perl\lib\CORE" -DHAVE_UTF8 -DHAVE_BLANK perl-libxml-sax.c
gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"1.88\" -DXS_VERSION=\"1.88\" "-IC:\Strawberry\perl\lib\CORE" -DHAVE_UTF8 -DHAVE_BLANK xpath.c
Running Mkbootstrap for XML::LibXML ()
C:\Strawberry\perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 LibXML.bs
C:\Strawberry\perl\bin\perl.exe -MExtUtils::Mksymlists \
-e "Mksymlists('NAME'=>\"XML::LibXML\", 'DLBASE' => 'LibXML', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
dlltool --def LibXML.def --output-exp dll.exp
g++ -o blib\arch\auto\XML\LibXML\LibXML.dll -Wl,--base-file -Wl,dll.base -mdll -s -L"C:\Strawberry\perl\lib\CORE" -L"C:\Strawberry\c\lib" Av_CharPtrPtr.o LibXML.o dom.o perl-libxml-mm.o perl-libxml-sax.o xpath.o -Wl,--image-base,0x1250000 C:\Strawberry\perl\lib\CORE\libperl512.a C:\Strawberry\c\lib\libxml2.a C:\Strawberry\c\lib\libzlib.a C:\Strawberry\c\lib\libzlib.a C:\Strawberry\c\i686-w64-mingw32\lib\libmoldname.a C:\Strawberry\c\i686-w64-mingw32\lib\libkernel32.a C:\Strawberry\c\i686-w64-mingw32\lib\libuser32.a C:\Strawberry\c\i686-w64-mingw32\lib\libgdi32.a C:\Strawberry\c\i686-w64-mingw32\lib\libwinspool.a C:\Strawberry\c\i686-w64-mingw32\lib\libcomdlg32.a C:\Strawberry\c\i686-w64-mingw32\lib\libadvapi32.a C:\Strawberry\c\i686-w64-mingw32\lib\libshell32.a C:\Strawberry\c\i686-w64-mingw32\lib\libole32.a C:\Strawberry\c\i686-w64-mingw32\lib\liboleaut32.a C:\Strawberry\c\i686-w64-mingw32\lib\libnetapi32.a C:\Strawberry\c\i686-w64-mingw32\lib\libuuid.a C
:\Strawberry\c\i686-w64-mingw32\lib\libws2_32.a C:\Strawberry\c\i686-w64-mingw32\lib\libmpr.a C:\Strawberry\c\i686-w64-mingw32\lib\libwinmm.a C:\Strawberry\c\i686-w64-mingw32\lib\libversion.a C:\Strawberry\c\i686-w64-mingw32\lib\libodbc32.a C:\Strawberry\c\i686-w64-mingw32\lib\libodbccp32.a C:\Strawberry\c\i686-w64-mingw32\lib\libcomctl32.a dll.exp
dlltool --def LibXML.def --base-file dll.base --output-exp dll.exp
g++ -o blib\arch\auto\XML\LibXML\LibXML.dll -mdll -s -L"C:\Strawberry\perl\lib\CORE" -L"C:\Strawberry\c\lib" Av_CharPtrPtr.o LibXML.o dom.o perl-libxml-mm.o perl-libxml-sax.o xpath.o -Wl,--image-base,0x1250000 C:\Strawberry\perl\lib\CORE\libperl512.a C:\Strawberry\c\lib\libxml2.a C:\Strawberry\c\lib\libzlib.a C:\Strawberry\c\lib\libzlib.a C:\Strawberry\c\i686-w64-mingw32\lib\libmoldname.a C:\Strawberry\c\i686-w64-mingw32\lib\libkernel32.a C:\Strawberry\c\i686-w64-mingw32\lib\libuser32.a C:\Strawberry\c\i686-w64-mingw32\lib\libgdi32.a C:\Strawberry\c\i686-w64-mingw32\lib\libwinspool.a C:\Strawberry\c\i686-w64-mingw32\lib\libcomdlg32.a C:\Strawberry\c\i686-w64-mingw32\lib\libadvapi32.a C:\Strawberry\c\i686-w64-mingw32\lib\libshell32.a C:\Strawberry\c\i686-w64-mingw32\lib\libole32.a C:\Strawberry\c\i686-w64-mingw32\lib\liboleaut32.a C:\Strawberry\c\i686-w64-mingw32\lib\libnetapi32.a C:\Strawberry\c\i686-w64-mingw32\lib\libuuid.a C:\Strawberry\c\i686-w64-mingw32\
lib\libws2_32.a C:\Strawberry\c\i686-w64-mingw32\lib\libmpr.a C:\Strawberry\c\i686-w64-mingw32\lib\libwinmm.a C:\Strawberry\c\i686-w64-mingw32\lib\libversion.a C:\Strawberry\c\i686-w64-mingw32\lib\libodbc32.a C:\Strawberry\c\i686-w64-mingw32\lib\libodbccp32.a C:\Strawberry\c\i686-w64-mingw32\lib\libcomctl32.a dll.exp
C:\Strawberry\perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 755 blib\arch\auto\XML\LibXML\LibXML.dll
C:\Strawberry\perl\bin\perl.exe -MExtUtils::Command -e "cp" -- LibXML.bs blib\arch\auto\XML\LibXML\LibXML.bs
C:\Strawberry\perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 blib\arch\auto\XML\LibXML\LibXML.bs
SHLOMIF/XML-LibXML-1.88.tar.gz
C:\Strawberry\c\bin\dmake.EXE -- OK
Running make test
C:\Strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/01basic.t ......................... 1/3 #
#
# Compiled against libxml2 version: 20703
# Running libxml2 version: 20703
#
t/01basic.t ......................... ok
t/02parse.t ......................... ok
t/03doc.t ........................... ok
t/04node.t .......................... ok
t/05text.t .......................... ok
t/06elements.t ...................... ok
t/07dtd.t ........................... ok
t/08findnodes.t ..................... ok
t/09xpath.t ......................... ok
t/10ns.t ............................ ok
t/11memory.t ........................ skipped: linux platform only.
t/12html.t .......................... ok
t/13dtd.t ........................... ok
t/14sax.t ........................... ok
t/15nodelist.t ...................... ok
t/16docnodes.t ...................... ok
t/17callbacks.t ..................... ok
t/18docfree.t ....................... ok
t/19die_on_invalid_utf8_rt_58848.t .. ok
t/19encoding.t ...................... ok
t/20extras.t ........................ ok
t/21catalog.t ....................... ok
t/23rawfunctions.t .................. ok
t/24c14n.t .......................... ok
t/25relaxng.t ....................... ok
t/26schema.t ........................ ok
t/27new_callbacks_simple.t .......... ok
t/28new_callbacks_multiple.t ........ ok
t/29id.t ............................ ok
t/30xpathcontext.t .................. ok
t/31xpc_functions.t ................. ok
t/32xpc_variables.t ................. ok
t/40reader.t ........................ ok
t/41xinclude.t ...................... ok
t/42common.t ........................ ok
t/43options.t ....................... ok
t/44extent.t ........................ ok
t/45regex.t ......................... ok
t/46err_column.t .................... ok
t/47load_xml_callbacks.t ............ ok
t/48_rt55000.t ...................... ok
t/48importing_nodes_IDs_rt_69520.t .. ok
t/49_load_html.t .................... ok
t/49callbacks_returning_undef.t ..... ok
t/49global_extent.t ................. ok
t/60error_prev_chain.t .............. ok
t/60struct_error.t .................. ok
t/61error.t ......................... ok
t/80registryleak.t .................. ok
t/90threads.t ....................... skipped: optional (set THREAD_TEST=1 to run these tests)
t/pod.t ............................. ok
All tests successful.
Files=51, Tests=2330, 208 wallclock secs ( 1.97 usr + 0.81 sys = 2.78 CPU)
Result: PASS
SHLOMIF/XML-LibXML-1.88.tar.gz
C:\Strawberry\c\bin\dmake.EXE test -- OK
Running make install
Files found in blib\arch: installing files in blib\lib into architecture dependent library tree
Installing C:\Strawberry\perl\site\lib\auto\XML\LibXML\LibXML.bs
Installing C:\Strawberry\perl\site\lib\auto\XML\LibXML\LibXML.dll
Installing C:\Strawberry\perl\site\lib\XML\LibXML.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Attr.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Boolean.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML\CDATASection.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Comment.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Common.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Common.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Document.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\DocumentFragment.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\DOM.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Dtd.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Element.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\ErrNo.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML\ErrNo.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Error.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Error.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\InputCallback.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Literal.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Namespace.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Node.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\NodeList.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Number.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Parser.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Pattern.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\PI.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Reader.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Reader.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\RegExp.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\RelaxNG.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\SAX.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML\SAX.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Schema.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\Text.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\XPathContext.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML\XPathContext.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\XPathExpression.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\SAX\Builder.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML\SAX\Builder.pod
Installing C:\Strawberry\perl\site\lib\XML\LibXML\SAX\Generator.pm
Installing C:\Strawberry\perl\site\lib\XML\LibXML\SAX\Parser.pm
Appending installation info to C:\Strawberry\perl\lib/perllocal.pod
SHLOMIF/XML-LibXML-1.88.tar.gz
C:\Strawberry\c\bin\dmake.EXE install UNINST=1 -- OK

cpan>

Perl On Windows

Hi,
Welcome to my Perl Blog. I've been trying to learn this beautiful language for a while now.
First time I tried my hand at it was around the same time last year, but work commitments bogged me down. Started learning Perl again.

This time though, I started with Python first.....Its a very nice language no doubt. But I found the Indentation stuff a little overbearing. Wrote a script and then wanted to add IF ELSE loop to it. The indentation completely flummoxed me. May be some more time with Python would have solved it, but I tried Perl and found out that it wasnt completely off my memory !!
I like the $, @ and % in Perl, as well as the fact that braces/brackets are used to start and end a block.

I wanted to learn a language that can let me process and format command line output easily, read from and write to XML Files and similar stuff. So, this time, I am sticking with Perl.

Given below are some resources that you may find helpful.

Resources For Perl
As the title explains, given below are some useful resources for Perl.

Perl For Windows:
For Windows, there are primarily two options available - Strawberry Perl for Windows and ActiveState. You can choose either one and wont go wrong. Strawberry Perl has one advantage that it comes pre bundled with all the stuff that you need to start using CPAN Modules, one of the biggest plus points of Perl. Activestate uses PPM primarily. Now that things are changing, both allow access to CPAN and PPM, but I found issues installing CPAN modules under ActiveState (some compiler related issues). Plan to keep trying both though. As of now, I am on Strawberry.

IDE/Editors For Perl:
Mostly, PADRE and EPIC for Eclipse are the IDEs used for Perl. There are others like ActiveState Komodo(FREE and PAID Versions), but I prefer EPIC. EPIC and PADRE are Free and really amazing. Komodo Edit, is the free version of Komodo.

For EPIC , I would recommend going through this amazing tutorial on Youtube. It will make the setup look like a breeze and you will thank yourself later for using EPIC, cause its just that awesome !!


Books:

Best book to start off with is Beginning Perl 3rd Edition by James Lee with Simon Cozens. I am mighty glad I started off with this. Awesome Awesome Book. Also get the latest edition of Learning Perl by Randal L. Schwartz, Brian D Foy and Tom Phoenix. The lastest version as of this writing is 6th Edition. Both of these are great.What you can do is, read one chapter from Beginning Perl and then the same or similar one from Learning Perl. You will love it. Absolutely love it.



Venerated Knowledge Source Of Perl - Perlmonks:

Need I say more? Visit Perlmonks and be amazed by the knowledge that you will imbibe. Dont ask questions that will sound like you want to get your work (especially homework) done though. Try to write a script, google first and try to fine tune it, and if you still need to make it better, search through Perlmonks if something on those lines is already posted. If not, post it there. You will be amazed.
I've got so much guidance there, that I highly recommend Perlmonks.