Thanks David. Got another question that I have been trying to wrap my mind around. About @argv. Now it says from I understand and read it access information from the command prompt. How exactly does it work? Is it it's own database? Or am I mistake, I know this may be a crazy question to ask.
Jason H. Owens ----- Forwarded Message ---- From: David Christensen <dpchr...@holgerdanske.com> To: Slick <jho251...@yahoo.com> Cc: beginners@perl.org Sent: Tue, October 6, 2009 11:01:08 PM Subject: Re: yet another question Slick wrote: > What do you guys do to practice? Do you practice one script over and over > again? Do you read differnt scripts and figure out what is happening in each > one? Do you think of ideas to do things, then make the script for that? As they say: "Necessity is the mother of invention." I write Perl scripts because I need to get something done with my computers. Monotonous, repetitive tasks are good candidates. For example, copying file trees to a backup drive, making a tar / gzip archive of some files with a date/ time stamp in the archive name, and shutting down a network of computers in the proper order. In fact, I've written and re-written those scripts dozens of times (as my needs change/ expectations increase and as I learn more about Perl). I then write one script to rule them all, so at the end of the day I can launch one script, turn off the monitor, and go to bed. :-) The steps are: 1. Get an idea -- e.g. "Hey, I bet I could write a Perl script to do this..." (need). 2. Research in exact detail what it takes to make "this" happen -- e.g. data, algorithms, sequence of steps, command syntax, reference information, etc. (analysis). 3. Figure out how to accomplish "this" in Perl (design and implementation): a. One approach is to break down the overall process into smaller steps and solve them one at a time (procedural or structured programming). This is the traditional approach, and how I learned to program. b. Another approach is to model the system as objects that contain both data and the operations that act upon that data (object-oriented programming). This is a newer approach, and makes it easier to solve larger and more complex problems. I prefer books for learning and for reference, and found "Learning Perl", "Programming Perl", and especially "The Perl Cookbook" to be invaluable when it came time to start writing Perl code. I still refer to the later two often. When you're ready for libraries (modules), object-oriented Perl, automated testing, etc., get "Intermediate Perl". Another aspect to #3 is learning to leverage all the "free" Perl scripts and modules that are available on the Comprehensive Perl Archive Network: http://www.cpan.org/ Data::Dumper is one such module. It is included in the base Perl distribution, so you don't have to worry about downloading/ installing it. I find it invaluable for debugging (the old-fashioned way, with "print" statements): 2009-10-06 20:56:25 dpchr...@p43400e ~ $ cat foo #! /usr/bin/perl -w use strict; use warnings; use Data::Dumper; my $debug = 1; print join(" ", __FILE__, __LINE__, Data::Dumper->Dump([...@argv], [qw(*ARGV)]) ) if $debug; 2009-10-06 20:56:29 dpchr...@p43400e ~ $ ./foo -x -y 'hello, world!' 123 ./foo 8 @ARGV = ( '-x', '-y', 'hello, world!', '123' ); HTH, David -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/