Yet another great explanation... thank you!  But I still need to know how 
to print each specific element # along with its data? 
Is this the right way to go for storing each line in its own element???


 while $line < FILEHANDLE >
my @tsm = < FILEHANDLE >
foreach $_ (@tsm)
print $_ , "\n";


Derek B. Smith
OhioHealth IT
UNIX / TSM / EDM Teams






[EMAIL PROTECTED]
04/01/2004 06:02 PM

 
        To:     [EMAIL PROTECTED], [EMAIL PROTECTED]
        cc: 
        Subject:        Re: using strict


 
In a message dated 4/1/2004 5:03:40 PM Eastern Standard Time, 
[EMAIL PROTECTED] writes:
People of the Perl, 

>from my understanding strict disallows soft references, ensures that all 
>variables are declared before usage and disallows barewords except for 
>subroutines.
>
>what is a soft reference?
 
A soft reference is a symbolic reference. For example:
$hello = "Hey, what's up?";
$var = "hello";
print $$var; #or, if it helps you see it better 'print ${$var}'
 
This may be what you want, but may not be (usually you want hard 
references), hence use strict 'refs'

>what is a bareword?
 
A bareword is...a bare...word? Really its just a word not expicitly 
denoted to be something. For example:
 
sub foo { 1 }
 
foo;
 
foo is a barewords. In the above case, strict doesn't freak out because 
the subroutine is predeclared. But if you just throw around words whenever 
you want, it will freak out. For example,
@array = (String, String, String, String);
 
String is a bareword. strict will throw up an exception so fast. 
 
2 exceptions to the bareword throw-up: left side of '=>' and inside curly 
braces. For Example: 
 
%hash = (
    left => 'right'
)
print $hash{left};
 
 
 

>why is strict disallowing a compile here.... When I comment out strict 
the 
>syntax checks outs as ok!???
>how do I display each element # with its corresponding data line, b/c I 
>only want certain elements printed out?
 
People already answered these. On an aside, Your code may compile dandy, 
that's not what strict is for. If perl could catch the errors like the 
ones you stated, there would be no need for strict. Strict is basically 
just so you don't screw up. You don't want barewords because you might 
think it means something else. You don't want soft references when you 
think you're using hard references. You don't want your code to screw up 
and you not to know why cause you used $var on 10,000 of the 20,000 lines 
and $Var on the other 10,000.

-will
(the above message is double rot13 encoded for security reasons)

Most Useful Perl Modules
-strict
-warnings
-Devel::DProf
-Benchmark
-B::Deparse
-Data::Dumper
-Clone (a Godsend)
-Perl::Tidy
-Beautifier

Reply via email to