On Thursday 19 Nov 2009 16:54:00 gaochong wrote:
> Now I have see the following page ,but I have some question and need help .
> 
> http://www.cpan.org/authors/id/S/SU/SUJAI/Process-Detail-0.1.pl
> 

From a quick look, this script seems awful:

1. No "use strict;" and "use warnings;".

2. uses "Switch.pm".

3. Uses bareword file-handles.

4. No three-args open.

I would suggest to avoid using it because it's not modern perl.

> 
> 
> first,what is the meaning of  if($pcs =~ /(\d+)/ && $pcs =~ /\./) ,I can’t
> understand the re /\./
> 

"." matches any character (except possibly newline, etc., but sometimes also 
that if you use m{...}s). "\." inside a regex matches an actual "." (period, 
dot, full stop etc. - http://en.wikipedia.org/wiki/Full_stop )


> 
> 
> sub hidden
> 
> {
> 
> print "\n##########Hidden processlist###############\n\n";
> 
> foreach $pcs (readdir(DIR))
> 
> {
> 
> if($pcs =~ /(\d+)/ && $pcs =~ /\./)
> 
> {
> 
> &detailedview("$pcs");
> 
> }
> 
> }
> 
> }
> 
> 
> 
> the second , @array=split(/([A-Z]+(_|[A-Z])+\=.[^A-Z]+)/,$_);          
>  also the re \=.[^A-Z]+ what’s it ?

\= is an actual "=". A "=" would be fine here, too. "." is any character 
except a newline. "[^A-Z]" is any character except the uppercase Latin ASCII 
letters ("A", "B", "C"..."Z"). "+" is "one or more" when applied to the 
suffix. You can see signs of "ancient perl" in this expression, because it 
uses several capturing parentheses ("(...)") instead of clustering ones 
("(?:...)").

http://www.shlomifish.org/lecture/Perl/Newbies/lecture2/regexps/next_step.html
> 
> 
> 
> 
> 
> open(FILE,"<$envir");

This should better be:

<<<
open my $file, "<", $envir
        or die "....$!";

>>>

This script is horrible. Avoid it.

Regards,

        Shlomi Fish

> while(<FILE>)
> {
> @array=split(/([A-Z]+(_|[A-Z])+\=.[^A-Z]+)/,$_);
> 
> thanks
> 

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
http://www.shlomifish.org/humour/ways_to_do_it.html

Chuck Norris read the entire English Wikipedia in 24 hours. Twice.

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to