|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Denis Savostjanov 2:5020/400 07 Apr 2002 21:40:55 To : Eugeny Nakonechny Subject : Re: Определение клиентского браузера -------------------------------------------------------------------------------- выводит env в броузер.. #!/usr/bin/perl # use POSIX; ($sysname,$nodename,$release,$version,$machine) = POSIX::uname(); $font = "<FONT FACE=\"Verdana, sans serif\" SIZE=2>"; print "Content-type: text/html\n\n"; print "<HTML>\n <HEAD>\n <TITLE>System Dates</TITLE>\n </HEAD>\n<BODY>\n"; print qq~ <TABLE WIDTH=100% BGCOLOR=#FDB900 CELLPADDING=2 CELLSPACING=0 BORDER=0> <TR> <TH>$font<FONT SIZE=4>System</FONT></TH> </TR> </TABLE><P> <TABLE BORDER=0 CELLPADDING=3 WIDTH=100%> <TR><TD>$font On the server</TD><TD>$font$nodename</TD></TR> <TR><TD>$font Operating system is</TD><TD>$font$sysname</TD></TR> <TR><TD>$font Version</TD><TD>$font$version</TD></TR> <TR><TD>$font Release</TD><TD>$font$release</TD></TR> <TR><TD>$font Hardware is</TD><TD>$font$machine</TD></TR> </TABLE> ~; print qq~ <TABLE WIDTH=100% BGCOLOR=#FDB900 CELLPADDING=2 CELLSPACING=0 BORDER=0> <TR> <TH>$font<FONT SIZE=4>Содержимое массива %ARGV[]</FONT></TH> </TR> </TABLE><P> <TABLE BORDER=0 CELLPADDING=0 WIDTH=100%> ~; for ($i=0; $i <= $#ARGV; ++$i) { print " <TR><TD>$font", 'ARGV[$i]=',$ARGV[$i], "</TD></TR>\n"; } print "</TABLE>\n"; print qq~ <TABLE WIDTH=100% BGCOLOR=#FDB900 CELLPADDING=2 CELLSPACING=0 BORDER=0> <TR> <TH>$font<FONT SIZE=4>Содержимое массива %ENV{}</FONT></TH> </TR> </TABLE><P> <TABLE BORDER=0 CELLPADDING=0 WIDTH=100%> ~; while(($key,$val) = each(ENV)) { print "<TR><TD>$font$key: $val</TD></TR>\n"; } print "</TABLE>\n"; print qq~ <TABLE WIDTH=100% BGCOLOR=#FDB900 CELLPADDING=2 CELLSPACING=0 BORDER=0> <TR> <TH>$font<FONT SIZE=4>MODULES</FONT></TH> </TR> </TABLE><P> ~; &vars; print qq~ <TABLE WIDTH=100% BGCOLOR=#FDB900 CELLPADDING=2 CELLSPACING=0 BORDER=0> <TR> <TH>$font<FONT SIZE=4>Installed Modules</FONT></TH> </TR> </TABLE><P> <TABLE BORDER=0 CELLPADDING=3 WIDTH=100%> ~; find(\&wanted,@INC); $modcount = 0; foreach $line(@foundmods){ $match = lc($line); if ($found{$line}[0] >0){ $found{$line} = [$found{$line}[0]+1,$match]} else { $found{$line} = ["1",$match];$modcount++} } @foundmods = sort count keys(%found); sub count { return $found{$a}[1] cmp $found{$b}[1] } $third = $modcount/3; $count=0; print "<TR><TD WIDTH=33% VALIGN=TOP><TABLE BORDER=0 CELLPADDING=1>"; foreach $mod(@foundmods){ chomp $mod; $count++; if ($count <= $third){ print qq~<TR><TD>${font}$mod</TD></TR>~; } else {push (@mod1,$mod)}} print "</TABLE></TD><TD WIDTH=33% VALIGN=TOP><TABLE BORDER=0 CELLPADDING=1>"; $count = 0; foreach $mod1(@mod1){ chomp $mod1; $count++; if ($count <= $third){ print qq~<TR><TD>${font}$mod1</TD></TR>~; } else {push (@mod2,$mod1)}} print "</TABLE></TD><TD WIDTH=33% VALIGN=TOP><TABLE BORDER=0 CELLPADDING=1>"; $count = 0; foreach $mod2(@mod2){ chomp $mod2; $count++; if ($count <= $third){ print qq~<TR><TD>${font}$mod2</TD></TR>~; }}print qq~ </TABLE></TD></TR></TABLE><P><HR COLOR="#BF0425" SIZE=1> <TABLE WIDTH=100% BGCOLOR=#FDB900 CELLPADDING=2 CELLSPACING=0 BORDER=0"> <TR><TH ALIGN=RIGHT> <BR> </TD></TR></TABLE></BODY></HTML>~; print $ENV{'SCRIPT_FILENAME'}; print "</BODY>\n</HTML>\n"; exit; #------------------------- sub vars { $dev="Ingo"; use File::Find; $bgcolor = "GHOSTWHITE"; $program="CM"; $version="666";} sub wanted { $count = 0; if ($File::Find::name =~ /\.pm$/){ open(MODFILE,$File::Find::name) || return; while(<MODFILE>){ if (/^ *package +(\S+);/){ push (@foundmods, $1); last; } } } } --- ifmail v.2.15dev5 * Origin: HoMe (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/761865eaa3e4.html, оценка из 5, голосов 10
|