Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: mail question and book, and code

by Laurent_R (Parson)
on May 06, 2013 at 17:58 UTC ( #1032357=note: print w/ replies, xml ) Need Help??

in reply to mail question and book, and code
in thread mail question and book

Yes, this is what I told you. They provide only short code snippets to show how to solve a specific problem, but usually don't give full programs. Because of that, they suppose that the variables have been declared earlier, it is up to you to do it (usually with the 'my' function) when you use the code snippets to write an actual full program.

In the case of the randcap program, you need to comment out the first line, because it is a comment, not a line of code.

Example of possible corrections to be made for the 1st program:

#!/usr/bin/perl use strict; use warnings; print "How old are you?"; my $age = <>; print "What is your favorite color?"; my $color = <>; print "You are $age, and your favorite color is $color.";

Just adding the "my" function for the two variables should remove your compile time errors.

Comment on Re: mail question and book, and code
Download Code
Re^2: mail question and book, and code
by Raymond (Novice) on May 06, 2013 at 18:37 UTC
    Thanks it's a new begining, and i don't have the Art to debug, as some of you have, in this post the 2 firts programs are solved, there are 3 more pls. Iam trying to get a collection of programs, that a person practise it, and copied those same programs one person can learn how to Perl. If someone knows a site with lots of samples, don't be shy, tell me.

      If you had bothered to click the links I provided you'd have all the resources you need to get started.

        I didn't notice that is has links, thanks. Best Regards Ray

      OK, for the third, probably one single little change: declare $DELAY with the my function:

      #!/usr/bin/perl -w use strict; use warnings; # slowcat - emulate a slow line printer # usage: slowcat -DELAY files ... my $DELAY = ($ARGV[0] =~ /^-(.\d+)/) ? (shift, $1) : 1; $| = 1; while (<>) { for (slit(//)) { print; select(undef,undef,undef, 0.005 * $DELAY); } }

      The same correction will apply to most of your other problems.

      And BTW, yes, I was fortunate enough to be born with the art of debugging Perl, I was doing that all the time in my cradle or while drinking milk from the breast of my mother (even though this was 30 years before Larry Wall invented Perl, but I knew it all already), but if it is not your case, too bad, you'll have to learn it the hard way: by doing it yourself again and again. You can get some help, and I am ready to help you again on the programs you have shown, but at one point, you really have to do it yourself.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1032357]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (5)
As of 2014-09-23 03:44 GMT
Find Nodes?
    Voting Booth?

    How do you remember the number of days in each month?

    Results (210 votes), past polls