<?xml version="1.0"?><!-- generator="bbPress" -->

<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
>

<channel>
<title>Windows Perl Scripting Forums &#187; Recent Posts</title>
<link>http://www.roth.net/forums/</link>
<description>Windows Perl Scripting Forums &#187; Recent Posts</description>
<language>en</language>
<pubDate>Sat, 04 Feb 2012 05:24:18 +0000</pubDate>

<item>
<title>mahalatchumi on "XML tag closing in hierarchical manner"</title>
<link>http://www.roth.net/forums/topic.php?id=425#post-783</link>
<pubDate>Mon, 09 Jan 2012 22:11:49 +0000</pubDate>
<dc:creator>mahalatchumi</dc:creator>
<guid isPermaLink="false">783@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hi,I've problem in multilevel tag closing,i want to close the tags form the inner level then come to close its outer level&#60;/p&#62;
&#60;p&#62;&#38;lt;p_list-bull(1)&#38;gt;Use Microsoft Windows accessibility options to:&#60;br /&#62;
&#38;lt;p_list-simple(2)&#38;gt;– Magnify the display&#60;br /&#62;
&#38;lt;p_list-simple(2)&#38;gt;– Change the size of text and icons&#60;br /&#62;
&#38;lt;p_list-simple(2)&#38;gt;– Convert the text displayed into speech (i.e. narrator)&#60;br /&#62;
&#38;lt;p_list-simple(2)&#38;gt;– Change the contrast&#60;br /&#62;
&#38;lt;p_list-simple(2)&#38;gt;– Display an onscreen keyboard&#60;br /&#62;
&#38;lt;p_list-simple(2)&#38;gt;– Convert the mouse for left-handed use.&#60;br /&#62;
&#38;lt;p_list-bull(1)&#38;gt;Deliver learning through an audio podcast rather than written handouts for visually impaired learners.&#60;br /&#62;
&#38;lt;p_list-bull(1)&#38;gt;Increase the character size on handouts for visually impaired learners.&#60;br /&#62;
&#38;lt;p_list-bull(1)&#38;gt;Adjust background colours and fonts to assist dyslexic learners.&#60;br /&#62;
my output should be like the below code&#60;br /&#62;
&#38;lt;list list-type=&#34;bullet&#34;&#38;gt;&#60;br /&#62;
&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;Use Microsoft Windows accessibility options to:&#60;br /&#62;
&#38;lt;list list-type=&#34;simple&#34;&#38;gt;&#60;br /&#62;
&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;&#38;#x2013; Magnify the display&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;&#60;br /&#62;
&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;&#38;#x2013; Change the size of text and icons&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;&#60;br /&#62;
&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;&#38;#x2013; Convert the text displayed into speech (i.e. narrator)&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;&#60;br /&#62;
&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;&#38;#x2013; Change the contrast&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;&#60;br /&#62;
&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;&#38;#x2013; Display an onscreen keyboard&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;&#60;br /&#62;
&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;&#38;#x2013; Convert the mouse for left-handed use.&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;&#60;br /&#62;
&#38;lt;/list&#38;gt;&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;&#60;br /&#62;
&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;Deliver learning through an audio podcast rather than written handouts for visually impaired learners.&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;&#60;br /&#62;
&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;Increase the character size on handouts for visually impaired learners.&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;&#60;br /&#62;
&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;Adjust background colours and fonts to assist dyslexic learners.&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;&#60;br /&#62;
&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;&#38;lt;xref ref-type=&#34;page&#34; id=&#34;page_13&#34;/&#38;gt;Provide feedback on written work using the comments facility and track changes rather than handwritten notes, so that the learners can change character size or use a text to speech application to hear feedback.&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;&#60;br /&#62;
&#38;lt;/list&#38;gt;&#60;br /&#62;
i tried the below code but i gives single item list only i d't know where its wrong pls correct my mistake &#60;/p&#62;
&#60;p&#62;use strict;&#60;br /&#62;
my $inputfile = $ARGV[0];&#60;/p&#62;
&#60;p&#62;open (IN,&#34;$inputfile&#34;) &#124;&#124; die (&#34;Can't open the input file for reading&#34;);&#60;br /&#62;
undef $/;&#60;br /&#62;
my $str = &#38;lt;IN&#38;gt;;&#60;br /&#62;
 while($str =~ /&#38;lt;list-(bull)&#38;gt;(?:(?:(?!&#38;lt;\/list-bull&#38;gt;).)*)&#38;lt;\/list-\1&#38;gt;/sgi)&#60;br /&#62;
    {&#60;br /&#62;
    $str =~ s#&#38;lt;list-(bull)&#38;gt;(?:(?:(?!&#38;lt;\/list-bull&#38;gt;).)*)&#38;lt;\/list-\1&#38;gt;#&#38;amp;List_find($&#38;amp;)#sgie;&#60;/p&#62;
&#60;p&#62;    }&#60;/p&#62;
&#60;p&#62;sub List_find&#60;br /&#62;
{&#60;br /&#62;
my $line = @_[0];&#60;br /&#62;
my $currentlevel = 0;&#60;br /&#62;
while($line =~ /^[\s\S]*?&#38;lt;(P_list-(\w+)\((\d+)\))&#38;gt;(.*?)&#38;lt;\/\1&#38;gt;\s*/si)&#60;br /&#62;
{&#60;/p&#62;
&#60;p&#62;    my ($tag, $kind, $level, $text) = ($1, $2, $3, $4);&#60;br /&#62;
    if ($currentlevel &#38;lt; $level) {&#60;br /&#62;
    while($currentlevel &#38;lt; $level) {&#60;br /&#62;
            $line = &#34;\n&#38;lt;list list-type=\&#34;$kind\&#34;&#38;gt;\n&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;&#34;;&#60;/p&#62;
&#60;p&#62;            $currentlevel++;&#60;/p&#62;
&#60;p&#62;        }&#60;/p&#62;
&#60;p&#62;} elsif ($currentlevel &#38;gt; $level) {&#60;/p&#62;
&#60;p&#62;        while($currentlevel &#38;gt; $level) {&#60;br /&#62;
            $currentlevel--;&#60;br /&#62;
            $line =&#34;&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;\n&#38;lt;/list&#38;gt;\n&#34;;&#60;br /&#62;
        }&#60;br /&#62;
        $line = &#34;&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;\n&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;&#34;;&#60;/p&#62;
&#60;p&#62;    } else {&#60;/p&#62;
&#60;p&#62;       $line = &#34;&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;\n&#38;lt;list-item&#38;gt;&#38;lt;p&#38;gt;&#34;;&#60;/p&#62;
&#60;p&#62;    }&#60;br /&#62;
        $line .= $text;&#60;/p&#62;
&#60;p&#62;   # print $line;&#60;/p&#62;
&#60;p&#62;}&#60;/p&#62;
&#60;p&#62;while($currentlevel &#38;gt; 0) {&#60;br /&#62;
    $currentlevel--;&#60;br /&#62;
    $line .= &#34;&#38;lt;/p&#38;gt;&#38;lt;/list-item&#38;gt;\n&#38;lt;/list&#38;gt;\n&#34;;&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;#print $line;&#60;br /&#62;
return &#34;$line&#34;;&#60;br /&#62;
}&#60;br /&#62;
open (OUT,&#34;&#38;gt;$inputfile\.xml&#34;) &#124;&#124; die (&#34;Can't open the output file for writing&#34;);&#60;br /&#62;
print OUT $str;&#60;br /&#62;
close (OUT);
&#60;/p&#62;</description>
</item>
<item>
<title>hervebags on "How to parse this file?"</title>
<link>http://www.roth.net/forums/topic.php?id=371#post-729</link>
<pubDate>Wed, 19 Oct 2011 05:24:56 +0000</pubDate>
<dc:creator>hervebags</dc:creator>
<guid isPermaLink="false">729@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hi,&#60;/p&#62;
&#60;p&#62;I have only been learning Perl for less than 2 weeks. I am a C++ programmer.&#60;br /&#62;
I have attached a portion of the data below. The data is in file1.txt. I would like to move the data from file1.txt to file2.txt. But, I only want to keep the numbers.&#60;/p&#62;
&#60;p&#62;Eg: I want row 1 to look like this:&#60;/p&#62;
&#60;p&#62;1       1549367 11     8       3      11      0       -12.00  6.00    -0.25   -3.00   0.00    -1.67   -12.00  6.00    -0.64&#60;/p&#62;
&#60;p&#62;Instead of this:&#60;/p&#62;
&#60;p&#62;1       Chr26   1549367 11      GGGGGGGAAGA     8       3       Transition      11      0       -12.00  6.00    -0.25   -3.00   0.00    -1.67   -12.00  6.00    -0.64&#60;/p&#62;
&#60;p&#62;This is what I have done so far (file1.txt will be in @ARGV):&#60;/p&#62;
&#60;p&#62;open FILE2, &#34;+&#38;gt;file2.txt&#34; or die &#34;Cant not open file2.txt!&#34;;&#60;br /&#62;
my $line;&#60;br /&#62;
while($line = readline(ARGV))&#60;br /&#62;
{&#60;br /&#62;
        print FILE2 $line;&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;The code above only copies content of file1.txt (ARGV) into file2.txt.&#60;br /&#62;
I tried to use ‘seek’ and ‘tell()’ but, to solve my problem above but, I got confused :( &#60;/p&#62;
&#60;p&#62;I also tried this:&#60;/p&#62;
&#60;p&#62;Open(FILE, “file1.txt”)&#60;br /&#62;
@theFile = &#38;lt;FILE&#38;gt;;&#60;/p&#62;
&#60;p&#62;This puts every row in the array @the File. But, I can I now modify the elements of one row? (I’m still a novice Perl programmer)&#60;/p&#62;
&#60;p&#62;Thank you for your help&#60;/p&#62;
&#60;p&#62;/………………………………………………………………………………………../&#60;br /&#62;
The file portion&#60;/p&#62;
&#60;p&#62;1       Chr26   1549367 11      GGGGGGGAAGA     8       3       Transition      11      0       -12.00  6.00    -0.25   -3.00   0.00    -1.67   -12.00  6.00    -0.64&#60;br /&#62;
1       Chr26   1549501 15      ccCctctccccctCC 12      3       Transition      3       12      -17.00  6.00    0.50    1.00    6.00    2.67    -17.00  6.00    0.93&#60;br /&#62;
1       Chr26   1549552 14      AagAAaaAAAagga  11      3       Transition      6       8       -31.00  6.00    -2.09   -12.00  3.00    -5.67   -31.00  6.00    -2.86&#60;br /&#62;
1       Chr26   1549563 14      tAAaaAAAattat^Ft        9       5       Transversion    5       9       -7.00   6.00    0.22    -64.00  4.00    -18.40  -64.00  6.00    -6.43&#60;br /&#62;
1       Chr26   1549726 14      TtTtctTtTtTTTT  13      1       Transition      8       6       -3.00   6.00    1.92    6.00    6.00    6.00    -3.00   6.00    2.21&#60;br /&#62;
2       Chr26   1549737 16      T+1Atttt+1aT+1At+1aTt+1aT+1AT+1AT+1AT+1AtT+1A^FA        15      11      Transversion    16      10      -64.00  6.00    -35.67  -64.00  6.00    -46.18  -64.00  6.00    -40.12&#60;br /&#62;
2       Chr26   1549815 9       CtCTTTTTT       7       2       Transition      8       1       -3.00   6.00    -0.14   -9.00   0.00    -4.50   -9.00   6.00    -1.11&#60;br /&#62;
1       Chr26   1549914 12      gGGGGGGGAGgg    11      1       Transition      9       3       -9.00   6.00    1.18    -4.00   -4.00   -4.00   -9.00   6.00    0.75&#60;br /&#62;
1       Chr26   1550018
&#60;/p&#62;</description>
</item>
<item>
<title>vini007mca on "Manipulating sql data with perl script"</title>
<link>http://www.roth.net/forums/topic.php?id=370#post-728</link>
<pubDate>Tue, 18 Oct 2011 02:43:17 +0000</pubDate>
<dc:creator>vini007mca</dc:creator>
<guid isPermaLink="false">728@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;i am newbie in perl,&#60;br /&#62;
Scenario:&#60;br /&#62;
till now i am able to connect Mysql database with perl script and able to display records, insert records ,search option through browser.&#60;/p&#62;
&#60;p&#62;Problem : But i don't no how edit the data through the browser...&#60;/p&#62;
&#60;p&#62;please help&#60;/p&#62;
&#60;p&#62;regards&#60;br /&#62;
vinay
&#60;/p&#62;</description>
</item>
<item>
<title>bbalint1 on "OLE: save .xls as .pdf?"</title>
<link>http://www.roth.net/forums/topic.php?id=366#post-724</link>
<pubDate>Tue, 30 Aug 2011 11:42:13 +0000</pubDate>
<dc:creator>bbalint1</dc:creator>
<guid isPermaLink="false">724@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;I've partially answered my own question.  The proper syntax is&#60;/p&#62;
&#60;p&#62;$Book-&#38;gt;SaveAs($pdf_file,57); &#60;/p&#62;
&#60;p&#62;this saves the first sheet of the workbook.  My question now is how do I tell excel 2010 to save the entire workbook--all sheets?&#60;/p&#62;
&#60;p&#62;Thanks again!
&#60;/p&#62;</description>
</item>
<item>
<title>bbalint1 on "OLE: save .xls as .pdf?"</title>
<link>http://www.roth.net/forums/topic.php?id=366#post-723</link>
<pubDate>Tue, 30 Aug 2011 08:05:27 +0000</pubDate>
<dc:creator>bbalint1</dc:creator>
<guid isPermaLink="false">723@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hi,&#60;br /&#62;
Using a perl/OLE script, I'm trying to save an excel spreadsheet as a pdf file.  Is there a way to use SaveAs to do this?
&#60;/p&#62;</description>
</item>
<item>
<title>vickiee on "win32::ole unable to open excel workbook"</title>
<link>http://www.roth.net/forums/topic.php?id=365#post-722</link>
<pubDate>Sat, 27 Aug 2011 04:51:33 +0000</pubDate>
<dc:creator>vickiee</dc:creator>
<guid isPermaLink="false">722@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;I read all the codes and it seems right, so i think maybe this is cause any other mistake by the way i will search for it and try to find any legit solution bout this.&#60;/p&#62;
&#60;p&#62;__________________&#60;br /&#62;
&#60;a href=&#34;http://www.ebookreaderreviewsite.org/&#34;&#62;ebook reader&#60;/a&#62;
&#60;/p&#62;</description>
</item>
<item>
<title>rockbold on "win32::ole unable to open excel workbook"</title>
<link>http://www.roth.net/forums/topic.php?id=365#post-721</link>
<pubDate>Thu, 11 Aug 2011 13:49:29 +0000</pubDate>
<dc:creator>rockbold</dc:creator>
<guid isPermaLink="false">721@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hello All,&#60;/p&#62;
&#60;p&#62;I m using the following to open and close excel files and access sheets.&#60;br /&#62;
my $Excel = Win32::OLE-&#38;gt;GetActiveObject('Excel.Application')&#60;br /&#62;
        &#124;&#124; Win32::OLE-&#38;gt;new('Excel.Application', 'Quit');&#60;/p&#62;
&#60;p&#62;# turn off all the alert boxes&#60;br /&#62;
$Excel-&#38;gt;{DisplayAlerts}=0;&#60;/p&#62;
&#60;p&#62;my $book=$Excel-&#38;gt;Workbooks-&#38;gt;Add();&#60;br /&#62;
$book-&#38;gt;SaveAs(&#34;C:\\dropbox\\test.xls&#34;);&#60;br /&#62;
my $sheet=$book-&#38;gt;Worksheets(&#34;Sheet1&#34;);&#60;br /&#62;
$sheet-&#38;gt;Activate();&#60;br /&#62;
$book-&#38;gt;Save();&#60;br /&#62;
$book-&#38;gt;Close;&#60;/p&#62;
&#60;p&#62;$book=$Excel-&#38;gt;Workbooks-&#38;gt;Open(&#34;C:\\dropbox\\test.xls&#34;);&#60;br /&#62;
$sheet=$book-&#38;gt;Worksheets(&#34;Sheet2&#34;);&#60;br /&#62;
$sheet-&#38;gt;Activate();&#60;br /&#62;
$book-&#38;gt;Save();&#60;br /&#62;
$book-&#38;gt;Close;&#60;/p&#62;
&#60;p&#62;This works fine on excel 2007. However, on excel 2010 it seems to not be able to open the file second time and errors out with the following message:&#60;br /&#62;
Can't call method &#34;Worksheets&#34; on an undefined value at ...&#60;/p&#62;
&#60;p&#62;Any ideas why excel can be re-opened after closing on excel 2010?&#60;br /&#62;
Appreciate your help.&#60;br /&#62;
Thanks
&#60;/p&#62;</description>
</item>
<item>
<title>rockbold on "WIN32::OLE Excel Workbook fails to open intermittently"</title>
<link>http://www.roth.net/forums/topic.php?id=364#post-720</link>
<pubDate>Thu, 11 Aug 2011 12:45:22 +0000</pubDate>
<dc:creator>rockbold</dc:creator>
<guid isPermaLink="false">720@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hello All,&#60;br /&#62;
I am using the following to open an excel workbook and access a sheet.&#60;/p&#62;
&#60;p&#62;my $BucketizedFile = &#34;C:\\temp\\Bucketized.xls&#34;;&#60;br /&#62;
$BucketizedOutputFile = $Excel-&#38;gt;Workbooks-&#38;gt;Open($BucketizedFile);&#60;br /&#62;
my $BucketizedKPI2Sheet = $BucketizedOutputFile-&#38;gt;Worksheets(&#34;Sheet2&#34;);&#60;br /&#62;
$BucketizedKPI2Sheet-&#38;gt;{Name}=&#34;KPI2&#34;;&#60;br /&#62;
$BucketizedKPI2Sheet-&#38;gt;Activate();&#60;/p&#62;
&#60;p&#62;I get the following error:&#60;br /&#62;
Can't call method &#34;Worksheets&#34; on an undefined value at Bucketizer_Worksheets_Issue.pl line 347.&#60;br /&#62;
It seems that it was unable to open the Excel sheet successfully.&#60;br /&#62;
I only see this on one particular PC. Why this inconsistency in behavior.&#60;br /&#62;
Any ideas what might be cauing this?&#60;br /&#62;
Appreciate your help.&#60;/p&#62;
&#60;p&#62;Thanks
&#60;/p&#62;</description>
</item>
<item>
<title>perl_omens on "unable to load strawberry perl shell on windows 7"</title>
<link>http://www.roth.net/forums/topic.php?id=362#post-718</link>
<pubDate>Wed, 03 Aug 2011 12:55:06 +0000</pubDate>
<dc:creator>perl_omens</dc:creator>
<guid isPermaLink="false">718@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Dear All,&#60;/p&#62;
&#60;p&#62;Greetings. I use strawberry perl on windows 7. I use command &#34;perl-MCPAN -e shell&#34; to &#60;/p&#62;
&#60;p&#62;install perl modules from CPAN. When I was installing Padre (Perl IDE) by issuing command&#60;/p&#62;
&#60;p&#62;cpan&#38;gt; install Padre&#60;/p&#62;
&#60;p&#62;and the process was in the middle then there was power trip due to which my PC rebooted. Now &#60;/p&#62;
&#60;p&#62;whenever I try to load perl shell (perl -MCPAN -e shell) on perl cmmand line (DOS) it gives &#60;/p&#62;
&#60;p&#62;following fatal error&#60;/p&#62;
&#60;p&#62;**************************************************************&#60;/p&#62;
&#60;p&#62;Microsoft Windows [Version 6.1.7601]&#60;br /&#62;
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.&#60;/p&#62;
&#60;p&#62;C:\&#38;gt;perl -MCPAN -e shell&#60;br /&#62;
Argument &#34;&#34; isn't numeric in numeric&#60;br /&#62;
 eq (==) at C:/strawberry/perl/lib/CPAN.pm line 728.&#60;/p&#62;
&#60;p&#62;There seems to be running another CPAN process (pid                       ).  Co&#60;br /&#62;
ntacting...&#60;br /&#62;
Can't kill a non-numeric process ID at C:/strawberry/perl/lib/CPAN.pm line 733.&#60;/p&#62;
&#60;p&#62;**************************************************************&#60;/p&#62;
&#60;p&#62;I rebooted my PC but invain. Please suggest problem resolution and throw some pointers.&#60;/p&#62;
&#60;p&#62;Regards,&#60;/p&#62;
&#60;p&#62;perl_omens
&#60;/p&#62;</description>
</item>
<item>
<title>GSA on "Perl, and copying files in Windows using UNC names"</title>
<link>http://www.roth.net/forums/topic.php?id=361#post-717</link>
<pubDate>Wed, 03 Aug 2011 08:25:36 +0000</pubDate>
<dc:creator>GSA</dc:creator>
<guid isPermaLink="false">717@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hi -&#60;br /&#62;
this is little baby script (using Windows) works fine:&#60;/p&#62;
&#60;p&#62;use File::Copy;&#60;br /&#62;
copy(&#34;/gsa.txt&#34;, &#34;/hurray.txt&#34;) or die $!;&#60;/p&#62;
&#60;p&#62;But, when I do things like this:&#60;br /&#62;
use File::Copy;&#60;br /&#62;
copy(&#34;\\servername1\gsa.txt&#34;, &#34;servername2\\hurray.txt&#34;) or die $!;&#60;/p&#62;
&#60;p&#62;it just bombs...sigh.&#60;br /&#62;
any thoughts?&#60;br /&#62;
thanks,&#60;br /&#62;
Greg.
&#60;/p&#62;</description>
</item>
<item>
<title>sure051 on "Can anyone help me in debugging this Perl Code."</title>
<link>http://www.roth.net/forums/topic.php?id=360#post-713</link>
<pubDate>Mon, 25 Jul 2011 22:19:36 +0000</pubDate>
<dc:creator>sure051</dc:creator>
<guid isPermaLink="false">713@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hi all,&#60;/p&#62;
&#60;p&#62;I'm a beginner in perl and this is my code.&#60;/p&#62;
&#60;p&#62;#!C:/Perl&#60;br /&#62;
$var=&#34;C:\Program Files\test\test2&#34;;&#60;br /&#62;
@var1=split (/\\/ , $var);&#60;br /&#62;
print &#34;$var1[0] \n&#34;;&#60;/p&#62;
&#60;p&#62;The output should be:&#60;br /&#62;
C:&#60;br /&#62;
But i receive C:Program Filestesttest2 as output. So anyone can help me to spilt and show only C: as output.
&#60;/p&#62;</description>
</item>
<item>
<title>Winnetou on "Please Help Win32::Daemon Windows 7"</title>
<link>http://www.roth.net/forums/topic.php?id=315#post-712</link>
<pubDate>Fri, 15 Jul 2011 17:35:18 +0000</pubDate>
<dc:creator>Winnetou</dc:creator>
<guid isPermaLink="false">712@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Dave has retired from active development of this module. It is now being maintained as part of the libwin32 project &#38;lt;libwin32@perl.org&#38;gt;.
&#60;/p&#62;</description>
</item>
<item>
<title>vickiee on "how to install win32::GuidGen on windows 64 bit OS"</title>
<link>http://www.roth.net/forums/topic.php?id=261#post-710</link>
<pubDate>Fri, 24 Jun 2011 20:49:50 +0000</pubDate>
<dc:creator>vickiee</dc:creator>
<guid isPermaLink="false">710@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Try to search on internet, whenever i want to find some kinda file that is missing i search on net and download it and paste it on necessary place. so you can also find any file you want.&#60;br /&#62;
good luck&#60;/p&#62;
&#60;p&#62;____________________&#60;br /&#62;
&#60;a href=&#34;http://www.dailydeals4you.com/webroot-coupon&#34;&#62;Webroot Coupons&#60;/a&#62;
&#60;/p&#62;</description>
</item>
<item>
<title>anitsahu on "slickedit"</title>
<link>http://www.roth.net/forums/topic.php?id=359#post-709</link>
<pubDate>Tue, 07 Jun 2011 21:13:32 +0000</pubDate>
<dc:creator>anitsahu</dc:creator>
<guid isPermaLink="false">709@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;i have this perl code snippet which i want to invoke from visual slick edit..&#60;br /&#62;
%data = ('x','y','z','a','b','c');&#60;br /&#62;
open logfile,&#34;&#38;gt;test.txt&#34;;&#60;br /&#62;
$deldata = delete $data{'x'};&#60;br /&#62;
print logfile $deldata;&#60;br /&#62;
close logfile;&#60;br /&#62;
@args = (&#34;C:/Program Files (x86)/SlickEdit 2009/win/vs.exe&#34;, &#34;C:/Users/anits/Desktop/test.txt&#34;);&#60;br /&#62;
system(@args) == 0  or die &#34;system @args failed: $?&#34;;&#60;br /&#62;
i am trying to invoke it with the following shell command in a .e file but it just doesnt work..can anybody help me out please..&#60;br /&#62;
#include &#34;slick.sh&#34;&#60;br /&#62;
#import &#34;slickc.e&#34;&#60;br /&#62;
_command void hello()&#60;br /&#62;
{&#60;br /&#62;
shell(&#34;C:/Users/anits/Desktop/x.pl&#34;)&#60;br /&#62;
}
&#60;/p&#62;</description>
</item>
<item>
<title>byg7668 on "Test if file can be created"</title>
<link>http://www.roth.net/forums/topic.php?id=358#post-708</link>
<pubDate>Tue, 07 Jun 2011 12:54:50 +0000</pubDate>
<dc:creator>byg7668</dc:creator>
<guid isPermaLink="false">708@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Need to test if a file can be created before creating it. Sounds simple but isn't. Just checking if the parent folder is writable does not work. Right now I'm doing ...&#60;/p&#62;
&#60;p&#62;my $Path = &#34;$Folder/$File&#34;;&#60;br /&#62;
my $CREATE_IT = 0;&#60;br /&#62;
if ( -w &#34;$Path&#34; ) {&#60;br /&#62;
  print &#34;  File Writable: $Path\n&#34;;&#60;br /&#62;
} elsif( -e &#34;$Path&#34; ) {&#60;br /&#62;
  print &#34;  File Exists but not writable: $Path\n&#34;;&#60;br /&#62;
} elsif( -w &#34;$Folder&#34; ) {&#60;br /&#62;
  print &#34;  File does not exist but ...\n    Folder Writable: $Folder\n&#34;;&#60;br /&#62;
  $CREATE_IT = 1;  # Try creating it below&#60;br /&#62;
} elsif( -e &#34;$Folder&#34; ) {&#60;br /&#62;
  print &#34;  File does not exist but ...\n    Folder Exists but not writable: $Folder\n&#34;;&#60;br /&#62;
  $CREATE_IT = 1;  # Try creating it anyway&#60;br /&#62;
} else {&#60;br /&#62;
  print &#34;  File and Folder does not exist: $Folder\n&#34;;&#60;br /&#62;
}&#60;br /&#62;
if ( $CREATE_IT ) {&#60;br /&#62;
  open (TSTPT, &#34;&#38;gt;$Folder/$File&#34;) or print &#34;+++ Open failed\n&#34;;&#60;br /&#62;
  print TSTPT &#34; Hello World&#34;;&#60;br /&#62;
  close TSTPT or print &#34;+++ Close failed\n&#34;;&#60;br /&#62;
  ! -e &#34;$Folder/$File&#34; ? print &#34;++ File Not Created\n&#34; : print &#34;++ File Created\n&#34;;&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;When I run this on Win 7 and the file does not exist and Perl claims the parent folder is not writable, the file is successfully created anyway. Yet another folder Perl claims is writable fails when creating the file. Here are my test cases:&#60;/p&#62;
&#60;p&#62;  File does not exist but ...&#60;br /&#62;
    Folder Exists but not writable: C:/users/userid/documents&#60;br /&#62;
++ File Created&#60;br /&#62;
  File does not exist but ...&#60;br /&#62;
    Folder Writable: C:/users/userid/my documents&#60;br /&#62;
++ File Not Created
&#60;/p&#62;</description>
</item>
<item>
<title>vickiee on "WIN32 file move problems..."</title>
<link>http://www.roth.net/forums/topic.php?id=313#post-705</link>
<pubDate>Sat, 07 May 2011 09:02:43 +0000</pubDate>
<dc:creator>vickiee</dc:creator>
<guid isPermaLink="false">705@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Maybe this can be due to any kind of virus or threat over your computer which stops you in that. i don't think that this can be happen due to any other thing cause i never faced that.&#60;/p&#62;
&#60;p&#62;good luck!!&#60;/p&#62;
&#60;p&#62;_________________&#60;br /&#62;
&#60;a href=&#34;http://www.dailydeals4you.com/webroot-coupon&#34;&#62;Webroot Coupons&#60;/a&#62;
&#60;/p&#62;</description>
</item>
<item>
<title>saravana on "Perlscript to execute a command in windows"</title>
<link>http://www.roth.net/forums/topic.php?id=356#post-703</link>
<pubDate>Wed, 27 Apr 2011 10:42:26 +0000</pubDate>
<dc:creator>saravana</dc:creator>
<guid isPermaLink="false">703@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hi,&#60;br /&#62;
 I am a newbie in perlscript, I have a requirement that I need to create a perl script such that,&#60;/p&#62;
&#60;p&#62;1. Check for the directory path C:\program files\App name&#60;br /&#62;
2. If the directory exists it should execute the following command,&#60;br /&#62;
&#34;      EventCreate \ID 1 \SO source \d 5&#34;&#60;/p&#62;
&#60;p&#62;Any help on this is much appreciated.&#60;/p&#62;
&#60;p&#62;Thanks,&#60;br /&#62;
Saravana
&#60;/p&#62;</description>
</item>
<item>
<title>Steve Silberman on "Unhandled param on x"</title>
<link>http://www.roth.net/forums/topic.php?id=323#post-670</link>
<pubDate>Thu, 24 Feb 2011 06:52:10 +0000</pubDate>
<dc:creator>Steve Silberman</dc:creator>
<guid isPermaLink="false">670@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hi all,&#60;br /&#62;
I get this message running a script:&#60;br /&#62;
Unhandled param on 8&#60;br /&#62;
Unhandled param on 106&#60;br /&#62;
Unhandled param on 130&#60;/p&#62;
&#60;p&#62;I checked that the script uses all the command line params and that each routine uses all the params it's passed.&#60;/p&#62;
&#60;p&#62;The numbers do not seem to be line numbers. Adding and removing lines doesn't change the numbers.&#60;/p&#62;
&#60;p&#62;Does anyone know what the numbers represent? Does anyone know what sort of error causes this message?&#60;/p&#62;
&#60;p&#62;I'm using Perl 5.10.0&#60;/p&#62;
&#60;p&#62;Thanks,&#60;br /&#62;
Steve
&#60;/p&#62;</description>
</item>
<item>
<title>StarkRavingCalm on "Please help: &#34;the size limit for this request was exceeded&#34;"</title>
<link>http://www.roth.net/forums/topic.php?id=321#post-668</link>
<pubDate>Fri, 11 Feb 2011 07:54:28 +0000</pubDate>
<dc:creator>StarkRavingCalm</dc:creator>
<guid isPermaLink="false">668@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;I am running a script to get all users in our domain but keep hitting the search limit.&#60;br /&#62;
Here is the error:&#60;br /&#62;
Win32::OLE(0.1709) error 0x80072023: &#34;The size limit for this request was exceeded&#34;&#60;br /&#62;
    in METHOD/PROPERTYGET &#34;MoveNext&#34;&#60;/p&#62;
&#60;p&#62;I have read a can add a line similar to:&#60;br /&#62;
#$objADOcmd-&#38;gt;Properties-&#38;gt;{&#34;Page Size&#34;} = 1000;&#60;/p&#62;
&#60;p&#62;But have had no luck so far.&#60;/p&#62;
&#60;p&#62;Any help is appreciated&#60;/p&#62;
&#60;p&#62;Thanks!&#60;/p&#62;
&#60;p&#62;Here's the code:&#60;/p&#62;
&#60;pre&#62;&#60;code&#62;## Taken from the following URL:
# &#60;a href=&#34;http://techtasks.com/code/viewbookcode/1580&#34; rel=&#34;nofollow&#34;&#62;http://techtasks.com/code/viewbookcode/1580&#60;/a&#62;

# This Perl code finds all user accounts in a domain.

# ---------------------------------------------------------------
# Provided as a web-only addition for the book:
#     &#38;quot;Active Directory Cookbook&#38;quot; by Robbie Allen
# ISBN: 0-596-00466-4
# ---------------------------------------------------------------

# ------ SCRIPT CONFIGURATION ------
my $strDomainDN = &#38;quot;DC=mydomain,DC=com&#38;quot;; 

# ------ END CONFIGURATION ---------
use Win32::OLE;
$Win32::OLE::Warn = 3;
my $strBase   =  &#38;quot;&#38;lt;LDAP://&#38;quot; . $strDomainDN . &#38;quot;&#38;gt;;&#38;quot;;
# To search the whole forest using the global catalog, uncomment the following line:
# $strBase   =  &#38;quot;&#38;lt;GC://&#38;quot; . $strDomainDN . &#38;quot;&#38;gt;;&#38;quot;;

my $strFilter = &#38;quot;(&#38;amp;(objectclass=user)(objectcategory=person));&#38;quot;;
my $strAttrs  = &#38;quot;name;&#38;quot;;
my $strAttrs  = &#38;quot;distinguishedName;&#38;quot;;
my $strScope  = &#38;quot;subtree&#38;quot;;

my $objConn = Win32::OLE-&#38;gt;CreateObject(&#38;quot;ADODB.Connection&#38;quot;);
$objConn-&#38;gt;{Provider} = &#38;quot;ADsDSOObject&#38;quot;;
$objConn-&#38;gt;Open;
my $objRS = $objConn-&#38;gt;Execute($strBase . $strFilter . $strAttrs . $strScope);
$objRS-&#38;gt;MoveFirst;
while (not $objRS-&#38;gt;EOF) {
    print $objRS-&#38;gt;Fields(0)-&#38;gt;Value,&#38;quot;\n&#38;quot;;
    $objRS-&#38;gt;MoveNext;
}&#60;/code&#62;&#60;/pre&#62;</description>
</item>
<item>
<title>abcdef on "PERL code question"</title>
<link>http://www.roth.net/forums/topic.php?id=320#post-667</link>
<pubDate>Thu, 10 Feb 2011 03:37:39 +0000</pubDate>
<dc:creator>abcdef</dc:creator>
<guid isPermaLink="false">667@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hi, &#60;/p&#62;
&#60;p&#62;I have below code : &#60;/p&#62;
&#60;p&#62; [code] &#60;/p&#62;
&#60;p&#62;my($abc) = &#34;fred&#38;lt;hello&#38;gt;3hello&#34;;&#60;br /&#62;
$abc =~ /^[^\d]{2,4}&#38;lt;([^&#38;gt;]+)&#38;gt;\d?\1$/; &#60;/p&#62;
&#60;p&#62;if (defined($1)) {&#60;br /&#62;
print &#34;$1\n&#34;;&#60;br /&#62;
} else {&#60;br /&#62;
print &#34;not found\n&#34;; &#60;/p&#62;
&#60;p&#62;}&#60;br /&#62;
}&#60;br /&#62;
[/code]&#60;br /&#62;
What is the code doing ?? what function of the regular expression&#60;br /&#62;
 [code]&#60;br /&#62;
$abc =~ /^[^\d]{2,4}&#38;lt;([^&#38;gt;]+)&#38;gt;\d?\1$/;&#60;br /&#62;
[/code]&#60;br /&#62;
Please advice what it do ??
&#60;/p&#62;</description>
</item>
<item>
<title>knagap on "Win32::OLE-&#62;new()"</title>
<link>http://www.roth.net/forums/topic.php?id=319#post-666</link>
<pubDate>Mon, 24 Jan 2011 01:44:41 +0000</pubDate>
<dc:creator>knagap</dc:creator>
<guid isPermaLink="false">666@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hello All,&#60;br /&#62;
I'm very much new to PERL scripting. I'm the admin for an online tool which has some Perl scripts. And i have a problem executing one of the script. I'm just writing a problematic code in the script: &#60;/p&#62;
&#60;p&#62;my $ex = Win32::OLE-&#38;gt;new('CamCad.application') or die &#34;oops\n&#34;;&#60;br /&#62;
my @args = (25,&#34;$basedir\\SYM.TXT,$basedir\\RTE.TXT,$basedir\\BRD.TXT,$basedir\\PAD.TXT&#34;,'');&#60;br /&#62;
$ex-&#38;gt;Invoke('Import',@args);&#60;/p&#62;
&#60;p&#62;Now when the first line is executed, a different version of CamCad application is getting called. My requirement is to call excatly &#34;C:\MentorGraphics\SDD_HOME\CAMCADPRO.EXE /Professional&#34;, that is an EXE is called with a Switch (/Professional).&#60;/p&#62;
&#60;p&#62;Is there any way I can replace the code in line1 so that the next lines works fine.&#60;br /&#62;
or&#60;br /&#62;
How is new('Camcad.application') know which EXE/application it has to execute. If i know this may be i can directly point here to call &#34;C:\MentorGraphics\SDD_HOME\CAMCADPRO.EXE /Professional&#34;.&#60;/p&#62;
&#60;p&#62;Thanks in Advance.
&#60;/p&#62;</description>
</item>
<item>
<title>chadstachowicz on "Please Help Win32::Daemon Windows 7"</title>
<link>http://www.roth.net/forums/topic.php?id=315#post-662</link>
<pubDate>Sun, 19 Dec 2010 00:42:11 +0000</pubDate>
<dc:creator>chadstachowicz</dc:creator>
<guid isPermaLink="false">662@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;It seems like everything works on Windows 7 except for that even though my callback for TIMER are hitting, the service control manager never changes the state to RUNNING...  this causes the service to think its not started even though it is?&#60;/p&#62;
&#60;p&#62;Am I missing something?  Any help would be greatly appreciated!!!
&#60;/p&#62;</description>
</item>
<item>
<title>rickaltman on "Battling form spam"</title>
<link>http://www.roth.net/forums/topic.php?id=314#post-661</link>
<pubDate>Tue, 16 Nov 2010 22:30:06 +0000</pubDate>
<dc:creator>rickaltman</dc:creator>
<guid isPermaLink="false">661@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;At our website, &#60;a href=&#34;http://www.BetterPresenting.com&#34; rel=&#34;nofollow&#34;&#62;http://www.BetterPresenting.com&#60;/a&#62;, we take book orders and host an annual conference. Our modest submission-form needs are met with your basic garden-variety form.cgi script (www.betterppt.com/form.zip). Meanwhile, we average about four to six form spam intrusions per day, so this is not an emergency, just an annoyance. In my hope to find a solution that uses our existing plumbing, I came up with the following scheme: &#60;/p&#62;
&#60;p&#62;1. Spam bots indiscriminately fill out every field in a form and send it off. &#60;/p&#62;
&#60;p&#62;2. If a field is not visible to a human, he or she would most likely not enter data into it. &#60;/p&#62;
&#60;p&#62;3. I added a CSS rule into our external .css file called hiddenrow. &#60;/p&#62;
&#60;p&#62;4. I applied this rule to the row of the table that holds the field in question. &#60;/p&#62;
&#60;p&#62;(I also included a simple &#34;do not enter data in this field&#34; comment next to the field, in case someone is using an old browser or for whatever reason the CSS rule is not working.) &#60;/p&#62;
&#60;p&#62;5. It should be a simple matter to include a test at the beginning of the send_mail subroutine that checks for contents in the hidden field. If it finds content, the subroutine aborts; if it does not find content, it continues. &#60;/p&#62;
&#60;p&#62;I suspect that this would eliminate 95% of the form spam we now receive. The only problem is that I don't know how to code it! I tried the following: &#60;/p&#62;
&#60;p&#62;--------------------------&#60;/p&#62;
&#60;p&#62;sub send_email {&#60;br /&#62;
if ($Form{'hiddenfield'} eq '') {&#60;br /&#62;
[continue with send_email subroutine]&#60;br /&#62;
}&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;--------------------------&#60;/p&#62;
&#60;p&#62;but it did not work properly. I would be most grateful if some of the expters here could a) test my theory and my logic; and b) if they are sound, help me figure out the proper syntax for this seemingly-simple task. &#60;/p&#62;
&#60;p&#62;Many thanks.&#60;br /&#62;
Rick A.
&#60;/p&#62;</description>
</item>
<item>
<title>GeorgeDorn on "WIN32 file move problems..."</title>
<link>http://www.roth.net/forums/topic.php?id=313#post-660</link>
<pubDate>Fri, 22 Oct 2010 02:48:27 +0000</pubDate>
<dc:creator>GeorgeDorn</dc:creator>
<guid isPermaLink="false">660@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;I cannot make Perl's &#34;rename&#34; nor &#34;dirmove&#34; work on WIN32. My move is within a partition on a single physical disk and the files are not in use. Rename fails entirely and dirmove copies the files but fails to remove the originals (except from a couple of small files which are moved correctly). The error I get from both is &#34;Permission denied&#34;. I've tried to run my script ad administrator with the exact same results. I must admit I'm very very tired of windows. Can anyone enlighten me as to what is going on?
&#60;/p&#62;</description>
</item>
<item>
<title>toros on "Find strings"</title>
<link>http://www.roth.net/forums/topic.php?id=312#post-659</link>
<pubDate>Thu, 30 Sep 2010 22:37:35 +0000</pubDate>
<dc:creator>toros</dc:creator>
<guid isPermaLink="false">659@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;I'm about to go crazy!&#60;br /&#62;
i need help, i am codeing a small perl program but got a problem.&#60;/p&#62;
&#60;p&#62;This is sample text.txt file --&#60;/p&#62;
&#60;pre&#62;&#60;code&#62;&#38;lt;/p&#38;gt;
&#38;lt;p&#38;gt;Beginning Perl is a different kind of Perl book. It&#38;#39;s written particularly with the beginning programmer in mind,&#38;lt;br /&#38;gt;
but it doesn&#38;#39;t treat you like an idiot, and experienced programmers will not feel patronized.&#38;lt;br /&#38;gt;
It covers a lot of ground, from the very basics of programming, right through to developing CGI applications&#38;lt;br /&#38;gt;
for the web. More importantly, it emphasizes good Perl practice, and readable and maintainable code. &#38;lt;/p&#38;gt;
&#38;lt;p&#38;gt;&#60;/code&#62;&#60;/pre&#62;
&#60;p&#62;This is sample perl script code&#60;br /&#62;
&#60;pre&#62;&#60;code&#62;&#38;lt;/p&#38;gt;
&#38;lt;p&#38;gt;open F, &#38;quot;&#38;lt;text.txt&#38;quot;;&#38;lt;br /&#38;gt;
while (&#38;lt;F&#38;gt;){&#38;lt;br /&#38;gt;
print &#38;quot;Result : $1 &#38;quot; if($_ =~ m/particularly(.*)/);&#38;lt;br /&#38;gt;
}&#38;lt;/p&#38;gt;
&#38;lt;p&#38;gt;&#60;/code&#62;&#60;/pre&#62;
&#60;p&#62;runing and result&#60;br /&#62;
Result : with the beginning programmer in mind,&#60;/p&#62;
&#60;p&#62;but there is was a problem. i am writing this result in dos:&#60;/p&#62;
&#60;p&#62;with the beginning programmer in mind,&#60;br /&#62;
but it doesn't treat you like an idiot, and experienced programmers will not feel patronized.&#60;br /&#62;
It covers a lot of ground, from the very basics of programming, right through to developing CGI applications&#60;br /&#62;
for the web. More importantly, it emphasizes good Perl practice, and readable and maintainable code. &#60;/p&#62;
&#60;p&#62;How do I do this?
&#60;/p&#62;</description>
</item>
<item>
<title>angelos on "win32 spyware"</title>
<link>http://www.roth.net/forums/topic.php?id=311#post-658</link>
<pubDate>Mon, 20 Sep 2010 00:57:15 +0000</pubDate>
<dc:creator>angelos</dc:creator>
<guid isPermaLink="false">658@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;A little remote screen viewer over a web browser for win32 consoles. Run the exe on a victim's  aheem target PC, and from a remote machine do a &#60;a href=&#34;http://tartgip:42000/monitor&#34; rel=&#34;nofollow&#34;&#62;http://tartgip:42000/monitor&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;Oh yes it is written in Perl, enjoy:http://www.unix.gr/FLOSSeavesDrop.exe and the source is at &#60;a href=&#34;http://www.unix.gr/FLOSSeavesDrop.pl&#34; rel=&#34;nofollow&#34;&#62;http://www.unix.gr/FLOSSeavesDrop.pl&#60;/a&#62;
&#60;/p&#62;</description>
</item>
<item>
<title>angelos on "win32 spyware"</title>
<link>http://www.roth.net/forums/topic.php?id=310#post-657</link>
<pubDate>Mon, 20 Sep 2010 00:55:19 +0000</pubDate>
<dc:creator>angelos</dc:creator>
<guid isPermaLink="false">657@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;A little remote screen viewer over a web browser for win32 consoles. Run the exe on a victim's  aheem target PC, and from a remote machine do a &#60;a href=&#34;http://tartgip:42000/monitor&#34; rel=&#34;nofollow&#34;&#62;http://tartgip:42000/monitor&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;Oh yes it is written in Perl, enjoy:http://www.unix.gr/FLOSSeavesDrop.exe and the source is at &#60;a href=&#34;http://www.unix.gr/FLOSSeavesDrop.pl&#34; rel=&#34;nofollow&#34;&#62;http://www.unix.gr/FLOSSeavesDrop.pl&#60;/a&#62;
&#60;/p&#62;</description>
</item>
<item>
<title>Christian on "Win32::Daemon?"</title>
<link>http://www.roth.net/forums/topic.php?id=59#post-656</link>
<pubDate>Mon, 13 Sep 2010 00:32:45 +0000</pubDate>
<dc:creator>Christian</dc:creator>
<guid isPermaLink="false">656@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Sorry folks,&#60;/p&#62;
&#60;p&#62;but the installation of Win32::Daemon does't work at my machine.&#60;/p&#62;
&#60;p&#62;I have installed ActivePerl 5.10&#60;br /&#62;
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:&#60;br /&#62;
  Platform:&#60;br /&#62;
    osname=MSWin32, osvers=5.00, archname=MSWin32-x86-multi-thread&#60;br /&#62;
    uname=''&#60;br /&#62;
    config_args='undef'&#60;br /&#62;
    hint=recommended, useposix=true, d_sigaction=undef&#60;br /&#62;
    useithreads=define, usemultiplicity=define&#60;br /&#62;
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef&#60;br /&#62;
    use64bitint=undef, use64bitall=undef, uselongdouble=undef&#60;br /&#62;
    usemymalloc=n, bincompat5005=undef&#60;br /&#62;
  Compiler:&#60;br /&#62;
    cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -&#60;br /&#62;
DNO_STRICT -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IM&#60;br /&#62;
PLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX',&#60;br /&#62;
    optimize='-MD -Zi -DNDEBUG -O1',&#60;br /&#62;
    cppflags='-DWIN32'&#60;br /&#62;
    ccversion='12.00.8804', gccversion='', gccosandvers=''&#60;br /&#62;
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234&#60;br /&#62;
    d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10&#60;br /&#62;
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksi&#60;br /&#62;
ze=8&#60;br /&#62;
    alignbytes=8, prototype=define&#60;br /&#62;
  Linker and Libraries:&#60;br /&#62;
    ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf  -libpath:&#34;C:&#60;br /&#62;
\Perl\lib\CORE&#34;  -machine:x86'&#60;br /&#62;
    libpth=\lib&#60;br /&#62;
    libs=  oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  comdlg32&#60;br /&#62;
.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib uuid.lib ws2_&#60;br /&#62;
32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib msvcrt.lib&#60;br /&#62;
    perllibs=  oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  comd&#60;br /&#62;
lg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib uuid.lib&#60;br /&#62;
ws2_32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib msvcrt.lib&#60;br /&#62;
    libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl510.lib&#60;br /&#62;
    gnulibc_version=''&#60;br /&#62;
  Dynamic Linking:&#60;br /&#62;
    dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '&#60;br /&#62;
    cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf  -&#60;br /&#62;
libpath:&#34;C:\Perl\lib\CORE&#34;  -machine:x86'&#60;/p&#62;
&#60;p&#62;Characteristics of this binary (from libperl):&#60;br /&#62;
  Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV&#60;br /&#62;
                        PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS&#60;br /&#62;
                        PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_ITHREADS&#60;br /&#62;
                        USE_LARGE_FILES USE_PERLIO USE_SITECUSTOMIZE&#60;br /&#62;
  Locally applied patches:&#60;br /&#62;
        ActivePerl Build 1004 [287188]&#60;br /&#62;
        33741 avoids segfaults invoking S_raise_signal() (on Linux)&#60;br /&#62;
        33763 Win32 process ids can have more than 16 bits&#60;br /&#62;
        32809 Load 'loadable object' with non-default file extension&#60;br /&#62;
        32728 64-bit fix for Time::Local&#60;br /&#62;
  Built under MSWin32&#60;br /&#62;
  Compiled at Sep  3 2008 13:16:37&#60;br /&#62;
  @INC:&#60;br /&#62;
    C:/Perl/site/lib&#60;br /&#62;
    C:/Perl/lib&#60;br /&#62;
    .&#60;/p&#62;
&#60;p&#62;In ppm is just the modules of ActiveState listed, while the repo of roth.net also is entered.&#60;/p&#62;
&#60;p&#62;Where can I get a working installation for Daemon?&#60;/p&#62;
&#60;p&#62;Need a little help, christian
&#60;/p&#62;</description>
</item>
<item>
<title>certteam on "parse 2 csv files into single text output"</title>
<link>http://www.roth.net/forums/topic.php?id=309#post-655</link>
<pubDate>Fri, 03 Sep 2010 21:07:24 +0000</pubDate>
<dc:creator>certteam</dc:creator>
<guid isPermaLink="false">655@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;hai everybody&#60;br /&#62;
 first of all thank u for allowing me to join this forum.&#60;br /&#62;
i m a newbie to perl script but had done some projects with windows batch..&#60;br /&#62;
my new project is to create a output of a pc system audit.&#60;br /&#62;
i had got csv files from windows wmic script..  my task to combine these two csv files into single out put ... in text format.. using perl......&#60;br /&#62;
any suggestions inthis regard is greatly appreciated&#60;/p&#62;
&#60;p&#62;thanks in advance&#60;br /&#62;
certteam
&#60;/p&#62;</description>
</item>
<item>
<title>daluu on "Perl script works but fails Windows binary compilation"</title>
<link>http://www.roth.net/forums/topic.php?id=308#post-654</link>
<pubDate>Mon, 30 Aug 2010 15:12:54 +0000</pubDate>
<dc:creator>daluu</dc:creator>
<guid isPermaLink="false">654@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;I was wondering if anyone has input on the following weird issue I observe. I have a script (posted below) that makes use of Perl's block or multiline print. What's interesting is the script runs fine as a Perl script under Windows (didn't test under *nix), but the script doesn't compile into a binary very well. I would assume that if a script can run fine, then generally it can compile and run as a binary fine assuming all dependencies are met or compiled into the binary. I haven't had such issues with my other scripts compilations, generally via PAR.&#60;/p&#62;
&#60;p&#62;Using the Perl Archiving Toolkit (PAR) module with ActivePerl v5.8.7, the script compiles but fails to run, with this error:&#60;/p&#62;
&#60;p&#62;C:\WorkTemp&#38;gt;pp -o genVpLoadPALTemplate.exe genVpLoadPALTemplate.pl&#60;/p&#62;
&#60;p&#62;C:\WorkTemp&#38;gt;genVpLoadPALTemplate.exe&#60;br /&#62;
Unrecognized character \xEF at script/genVpLoadPALTemplate.pl line 1.&#60;/p&#62;
&#60;p&#62;Using freeware/shareware version of Perl2Exe (though a newer version than what my Perl version is) to do the compilation, the tool fails to compile with these errors:&#60;/p&#62;
&#60;p&#62;C:\Perl2Exe&#38;gt;Perl2Exe c:\WorkTemp\genVpLoadPALTemplate.pl -o= c:\WorkTemp\genVpLo&#60;br /&#62;
adPALTemplateb.exe&#60;br /&#62;
Perl2Exe V8.82 Copyright (c) 1997-2007 IndigoSTAR Software&#60;/p&#62;
&#60;p&#62;This is an evaluation version of Perl2Exe, which may be used for 30 days.&#60;br /&#62;
For more information see the attached pxman.htm file,&#60;br /&#62;
or visit &#60;a href=&#34;http://www.indigostar.com&#34; rel=&#34;nofollow&#34;&#62;http://www.indigostar.com&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;Converting 'c:/WorkTemp/genVpLoadPALTemplate.pl -o= c:\WorkTemp\genVpLoadPALTemp&#60;br /&#62;
lateb.exe' to genVpLoadPALTemplate.exe&#60;br /&#62;
Warning: Can't locate this.pm&#60;br /&#62;
    at c:\WorkTemp\genVpLoadPALTemplate.pl line 67&#60;br /&#62;
    @INC = C:\Perl\lib, C:\Perl\site\lib, .&#60;/p&#62;
&#60;p&#62;Warning: Can't locate this.pm&#60;br /&#62;
    at c:\WorkTemp\genVpLoadPALTemplate.pl line 123&#60;br /&#62;
    @INC = C:\Perl\lib, C:\Perl\site\lib, .&#60;/p&#62;
&#60;p&#62;Warning: Can't locate this.pm&#60;br /&#62;
    at c:\WorkTemp\genVpLoadPALTemplate.pl line 154&#60;br /&#62;
    @INC = C:\Perl\lib, C:\Perl\site\lib, .&#60;/p&#62;
&#60;p&#62;Warning: Can't locate this.pm&#60;br /&#62;
    at c:\WorkTemp\genVpLoadPALTemplate.pl line 210&#60;br /&#62;
    @INC = C:\Perl\lib, C:\Perl\site\lib, .&#60;/p&#62;
&#60;p&#62;Looking through the script, the failures are from lines in the script that are inside a multiline print block, particularly the lines that begin with &#34;Use&#34;.&#60;/p&#62;
&#60;p&#62;print OUTPUTSCRIPT &#38;lt;&#38;lt;SCRIPTHEADER;&#60;br /&#62;
...omitted blocks...&#60;br /&#62;
of time.&#60;/p&#62;
&#60;p&#62;Use this analysis in correlation with the Available Memory analysis, and total process (i.e. Process(*)) private bytes allocation analysis. If you suspect a&#60;br /&#62;
...omitted blocks...&#60;br /&#62;
SCRIPTHEADER&#60;/p&#62;
&#60;p&#62;Here's the script, works but a bit messy...&#60;/p&#62;
&#60;p&#62;################################################################################&#60;br /&#62;
# genVpLoadPALTemplate.pl&#60;br /&#62;
# Written by: David Luu&#60;br /&#62;
# Last updated: 03/18/10&#60;br /&#62;
#&#60;br /&#62;
# Script to generate a PAL analysis report template for x # of VP clients&#60;br /&#62;
# running on a single machine&#60;br /&#62;
#&#60;br /&#62;
# Revision History&#60;br /&#62;
#	03/18/10 - v1.0 - initial release&#60;br /&#62;
#&#60;br /&#62;
################################################################################&#60;/p&#62;
&#60;p&#62;### No input display ###&#60;br /&#62;
if (@ARGV[0] eq &#34;?&#34; &#124;&#124; @ARGV &#38;lt; 1 &#124;&#124; @ARGV &#38;gt; 2) {&#60;br /&#62;
   print &#34;\n&#34;;&#60;br /&#62;
   print &#34;   Usage: genVpLoadPALTemplate.pl numClients [OutputScriptFile]\n&#34;;&#60;br /&#62;
   print &#34;                                  Arg0        Arg1\n&#34;;&#60;br /&#62;
   print &#34;\n&#34;;&#60;br /&#62;
   print &#34;   Notes: 1st ARG =&#38;gt; number of VP clients running on single machine.\n&#34;;&#60;br /&#62;
   print &#34;          2nd ARG =&#38;gt; Optional name &#38;amp; path of output script file.\n&#34;;&#60;br /&#62;
   print &#34;                     Default is VpLoadPALTemplate.xml\n\n&#34;;&#60;br /&#62;
   print &#34;   Example: genVpLoadPALTemplate.pl 16\n&#34;;&#60;br /&#62;
   print &#34;\n&#34;;&#60;br /&#62;
   exit;&#60;br /&#62;
}&#60;br /&#62;
### Initialization ###&#60;br /&#62;
# Save command line arguments/parameters to variables&#60;br /&#62;
my $numVpClients = @ARGV[0];&#60;br /&#62;
my $CmdLine_OutputFile = &#34;&#34;;&#60;br /&#62;
if(@ARGV &#38;gt; 1){&#60;br /&#62;
	$CmdLine_OutputFile = @ARGV[1];&#60;br /&#62;
}else{&#60;br /&#62;
	$CmdLine_OutputFile = &#34;VpLoadPALTemplate.xml&#34;;&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;# Open input &#38;amp; output files for parsing &#38;amp; processing&#60;br /&#62;
open (OUTPUTSCRIPT, &#34;&#38;gt;$CmdLine_OutputFile&#34;) &#124;&#124; die (&#34;FATAL ERROR: Could not create output script file: $^E&#34;);&#60;/p&#62;
&#60;p&#62;print OUTPUTSCRIPT &#38;lt;&#38;lt;SCRIPTHEADER;&#60;br /&#62;
&#38;lt;?xml version=&#34;1.0&#34;?&#38;gt;&#60;br /&#62;
&#38;lt;PAL NAME=&#34;ViewPoint Client Analysis for $numVpClients VP clients on same PC&#34; DESCRIPTION=&#34;System performance analysis customized for analyzing $numVpClients VP clients running on same PC.&#34; CONTENTOWNERS=&#34;David Luu&#34; FEEDBACKEMAILADDRESS=&#34;dluu\@vertical.com&#34; VERSION=&#34;1.0&#34;&#38;gt;&#60;br /&#62;
  &#38;lt;QUESTION DATATYPE=&#34;string&#34; DEFAULTVALUE=&#34;1&#34; QUESTIONVARNAME=&#34;NumberOfProcessors&#34;&#38;gt;How many processors (physical and virtual) does the server have?&#38;lt;/QUESTION&#38;gt;&#60;br /&#62;
  &#38;lt;QUESTION DATATYPE=&#34;boolean&#34; DEFAULTVALUE=&#34;False&#34; QUESTIONVARNAME=&#34;ThreeGBSwitch&#34;&#38;gt;Was the /3GB switch being used on the server?&#38;lt;/QUESTION&#38;gt;&#60;br /&#62;
  &#38;lt;QUESTION DATATYPE=&#34;boolean&#34; DEFAULTVALUE=&#34;False&#34; QUESTIONVARNAME=&#34;SixtyFourBit&#34;&#38;gt;Was the computer 64-bit?&#38;lt;/QUESTION&#38;gt;&#60;br /&#62;
  &#38;lt;QUESTION DATATYPE=&#34;string&#34; DEFAULTVALUE=&#34;1&#34; QUESTIONVARNAME=&#34;TotalMemory&#34;&#38;gt;How much memory did the server have in gigabytes?&#38;lt;/QUESTION&#38;gt;&#60;br /&#62;
  &#38;lt;QUESTION QUESTIONVARNAME=&#34;KernelDumpOnCDrive&#34; DATATYPE=&#34;boolean&#34; DEFAULTVALUE=&#34;True&#34;&#38;gt;Is the System set to create a MEMORY.DMP file on C: drive in the event of a server crash (blue screen). By default this is set to C: drive.&#38;lt;/QUESTION&#38;gt;&#60;br /&#62;
  &#38;lt;ANALYSIS NAME=&#34;Memory Leak Detection for Vertical.Wave.ViewPoint&#34; ENABLED=&#34;True&#34; ANALYZECOUNTER=&#34;\\Process(Vertical.Wave.ViewPoint)\\Private Bytes&#34; CATEGORY=&#34;Process&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;COUNTER NAME=&#34;\\Process(Vertical.Wave.ViewPoint)\\Private Bytes&#34; MINVARNAME=&#34;MinPrivateBytes&#34; AVGVARNAME=&#34;AvgPrivateBytes&#34; MAXVARNAME=&#34;MaxPrivateBytes&#34; TRENDVARNAME=&#34;TrendPrivateBytes&#34; DATATYPE=&#34;Integer&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;/COUNTER&#38;gt;&#60;br /&#62;
    &#38;lt;THRESHOLD NAME=&#34;Memory: an increasing trend of 10MB's per hour detected for Vertical.Wave.ViewPoint&#34; CONDITION=&#34;Warning&#34; COLOR=&#34;Yellow&#34; PRIORITY=&#34;50&#34;&#38;gt;&#60;br /&#62;
      &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[If the private bytes size is greater than &#38;lt;B&#38;gt;100MB&#38;lt;/B&#38;gt; and the process is increasing at a rate greater than &#38;lt;B&#38;gt;10MB's&#38;lt;/B&#38;gt; per hour, then an aggressive memory leak is suspected.&#60;br /&#62;
        ]]&#38;gt;&#38;lt;/DESCRIPTION&#38;gt;&#60;br /&#62;
      &#60;code&#62;&#38;lt;![CDATA[' If the private bytes is over 100MBs and if the trend shows a 10MB increase at each hour.&#60;br /&#62;
If IsNull(AvgPrivateBytes) = False AND IsNull(TrendPrivateBytes) = False Then&#60;br /&#62;
  If AvgPrivateBytes &#38;gt; 100000000 AND TrendPrivateBytes &#38;gt; 10000000 Then&#60;br /&#62;
    IsTrendThresholdBroken = True&#60;br /&#62;
  End If&#60;br /&#62;
End If]]&#38;gt;&#60;/code&#62;&#60;br /&#62;
    &#38;lt;/THRESHOLD&#38;gt;&#60;br /&#62;
    &#38;lt;CHART CHARTTYPE=&#34;Line&#34; CATEGORIES=&#34;AUTO&#34; MAXCATEGORYLABELS=&#34;0&#34; LEGEND=&#34;ON&#34; VALUES=&#34;AUTO&#34; GROUPSIZE=&#34;640x480&#34; OTSFORMAT=&#34;MM/dd hh:mm&#34; CHARTTITLE=&#34;\\Process(Vertical.Wave.ViewPoint)\\Private Bytes&#34; DATASOURCE=&#34;\\Process(Vertical.Wave.ViewPoint)\\Private Bytes&#34; DATATYPE=&#34;Integer&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;/CHART&#38;gt;&#60;br /&#62;
    &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[This analysis determines if the process is consuming a large chunk of the system's memory and if the process is increasing in memory consumption over time. A process consuming large portions of memory is okay as long as the process returns the memory back to the system. Look for increasing trends in the chart. An increasing trend over a long period of time could indicate a memory leak. Private Bytes is the current size, in bytes, of memory that this process has allocated that cannot be shared with other processes. This analysis checks for a 10MB’s per hour increasing trends. Use this analysis in correlation with the Available Memory analysis, and total process (i.e. Process(*)) private bytes allocation analysis.&#60;/p&#62;
&#60;p&#62;Also, keep in mind that newly started processes will initially appear as a memory leak when it is simply normal start up behavior. A memory leak is when a process continues to consume memory and not releasing memory over a long period of time.&#60;/p&#62;
&#60;p&#62;Use this analysis in correlation with the Available Memory analysis, and total process (i.e. Process(*)) private bytes allocation analysis. If you suspect a memory leak condition, then install and use the Debug Diag tool. For more information on the Debug Diag Tool, see the references section.&#60;/p&#62;
&#60;p&#62;&#38;lt;B&#38;gt;References:&#38;lt;/B&#38;gt;&#60;/p&#62;
&#60;p&#62;Debug Diagnostic Tool v1.1 &#60;a href=&#34;http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&#38;amp;displaylang=en&#38;#038;gt;&#38;#038;lt;/DESCRIPTION&#38;#038;gt&#34; rel=&#34;nofollow&#34;&#62;http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&#38;amp;displaylang=en&#38;#038;gt;&#38;#038;lt;/DESCRIPTION&#38;#038;gt&#60;/a&#62;;&#60;br /&#62;
  &#38;lt;/ANALYSIS&#38;gt;&#60;br /&#62;
  &#38;lt;ANALYSIS NAME=&#34;Handle Leak Detection for Vertical.Wave.ViewPoint&#34; ENABLED=&#34;True&#34; ANALYZECOUNTER=&#34;\\Process(Vertical.Wave.ViewPoint)\\Handle Count&#34; CATEGORY=&#34;Process&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;COUNTER NAME=&#34;\\Process(Vertical.Wave.ViewPoint)\\Handle Count&#34; MINVARNAME=&#34;MinHandleCount&#34; AVGVARNAME=&#34;AvgHandleCount&#34; MAXVARNAME=&#34;MaxHandleCount&#34; TRENDVARNAME=&#34;TrendHandleCount&#34; DATATYPE=&#34;Integer&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;/COUNTER&#38;gt;&#60;br /&#62;
    &#38;lt;THRESHOLD NAME=&#34;Handle Leak Suspected - more than 2000 handles and a trend of more than 100 handles per hour&#34; CONDITION=&#34;Warning&#34; COLOR=&#34;Yellow&#34; PRIORITY=&#34;50&#34;&#38;gt;&#60;br /&#62;
      &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[Checks for any process with a handle count greater than &#38;lt;B&#38;gt;2000&#38;lt;/B&#38;gt; and if the trend is greater than &#38;lt;B&#38;gt;100&#38;lt;/B&#38;gt; handles per hour. If so, check the chart to determine if the counter is on an increasing trend potentially indicating a handle leak.]]&#38;gt;&#38;lt;/DESCRIPTION&#38;gt;&#60;br /&#62;
      &#60;code&#62;&#38;lt;![CDATA[If IsNull(AvgHandleCount) = False AND IsNull(TrendHandleCount) = False Then&#60;br /&#62;
  If AvgHandleCount &#38;gt; 2000 AND TrendHandleCount &#38;gt; 100 Then&#60;br /&#62;
    IsTrendThresholdBroken = True&#60;br /&#62;
  End If&#60;br /&#62;
End If]]&#38;gt;&#60;/code&#62;&#60;br /&#62;
    &#38;lt;/THRESHOLD&#38;gt;&#60;br /&#62;
    &#38;lt;CHART CHARTTYPE=&#34;Line&#34; CATEGORIES=&#34;AUTO&#34; MAXCATEGORYLABELS=&#34;0&#34; LEGEND=&#34;ON&#34; VALUES=&#34;AUTO&#34; GROUPSIZE=&#34;640x480&#34; OTSFORMAT=&#34;MM/dd hh:mm&#34; CHARTTITLE=&#34;\\Process(Vertical.Wave.ViewPoint)\\Handle Count&#34; DATASOURCE=&#34;\\Process(Vertical.Wave.ViewPoint)\\Handle Count&#34; DATATYPE=&#34;Integer&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;/CHART&#38;gt;&#60;br /&#62;
    &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[This analysis checks the process to determine how many handles it has open and determines if a handle leak is suspected. A process with a large number of handles and/or an aggresive upward trend could indicate a handle leak which typically results in a memory leak. The total number of handles currently open by this process. This number is equal to the sum of the handles currently open by each thread in this process.]]&#38;gt;&#38;lt;/DESCRIPTION&#38;gt;&#60;br /&#62;
  &#38;lt;/ANALYSIS&#38;gt;&#60;br /&#62;
  &#38;lt;ANALYSIS NAME=&#34;Vertical.Wave.ViewPoint Processor Utilization&#34; ENABLED=&#34;True&#34; ANALYZECOUNTER=&#34;\\Process(Vertical.Wave.ViewPoint)\\% Processor Time&#34; CATEGORY=&#34;Process&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;COUNTER NAME=&#34;\\Process(Vertical.Wave.ViewPoint)\\% Processor Time&#34; MINVARNAME=&#34;MinProcess_PercentProcessorTime&#34; AVGVARNAME=&#34;AvgProcess_PercentProcessorTime&#34; MAXVARNAME=&#34;MaxProcess_PercentProcessorTime&#34; TRENDVARNAME=&#34;TrendProcess_PercentProcessorTime&#34; DATATYPE=&#34;integer&#34; /&#38;gt;&#60;br /&#62;
    &#38;lt;CHART CHARTTITLE=&#34;\\Process(Vertical.Wave.ViewPoint)\\% Processor Time&#34; OTSFORMAT=&#34;MM/dd hh:mm&#34; GROUPSIZE=&#34;640x480&#34; CATEGORIES=&#34;AUTO&#34; DATATYPE=&#34;integer&#34; LEGEND=&#34;ON&#34; MAXCATEGORYLABELS=&#34;0&#34; CHARTTYPE=&#34;Line&#34; VALUES=&#34;AUTO&#34; DATASOURCE=&#34;\\Process(Vertical.Wave.ViewPoint)\\% Processor Time&#34; /&#38;gt;&#60;br /&#62;
    &#38;lt;THRESHOLD NAME=&#34;Significant Processor Use Suspected for Vertical.Wave.ViewPoint - more than 10% CPU utilization&#34; CONDITION=&#34;Warning&#34; COLOR=&#34;Yellow&#34; PRIORITY=&#34;50&#34;&#38;gt;&#60;br /&#62;
      &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[This analysis checks if the process is consuming a significant amount of processor time, as specified by the current average/maximum threshold of 10% CPU utilization.]]&#38;gt;&#38;lt;/DESCRIPTION&#38;gt;&#60;br /&#62;
      &#60;code&#62;&#38;lt;![CDATA[&#60;br /&#62;
If AvgProcess_PercentProcessorTime &#38;gt; 7Then&#60;br /&#62;
    IsTrendThresholdBroken = True&#60;br /&#62;
    IsAvgThresholdBroken = True&#60;br /&#62;
End If&#60;/p&#62;
&#60;p&#62;If AvgProcess_PercentProcessorTime &#38;gt; 10 Or MaxProcess_PercentProcessorTime &#38;gt; 10 Then&#60;br /&#62;
    IsMaxThresholdBroken = True&#60;br /&#62;
End If]]&#38;gt;&#60;/code&#62;&#60;br /&#62;
    &#38;lt;/THRESHOLD&#38;gt;&#60;br /&#62;
    &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[% Processor Time is the percentage of elapsed time that all of process threads used the processor to execution instructions. An instruction is the basic unit of execution in a computer, a thread is the object that executes instructions, and a process is the object created when a program is run. Code executed to handle some hardware interrupts and trap conditions are included in this count.]]&#38;gt;&#38;lt;/DESCRIPTION&#38;gt;&#60;br /&#62;
  &#38;lt;/ANALYSIS&#38;gt;&#60;br /&#62;
  &#38;lt;ANALYSIS NAME=&#34;.NET CLR Memory # Bytes in all Heaps for Vertical.Wave.ViewPoint&#34; ENABLED=&#34;True&#34; ANALYZECOUNTER=&#34;\\.NET CLR Memory(Vertical.Wave.ViewPoint)\\# Bytes in all Heaps&#34; CATEGORY=&#34;Process&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;COUNTER NAME=&#34;\\.NET CLR Memory(Vertical.Wave.ViewPoint)\\# Bytes in all Heaps&#34; MINVARNAME=&#34;MinNETCLRMemory_#BytesinallHeaps&#34; AVGVARNAME=&#34;AvgNETCLRMemory_#BytesinallHeaps&#34; MAXVARNAME=&#34;MaxNETCLRMemory_#BytesinallHeaps&#34; TRENDVARNAME=&#34;TrendNETCLRMemory_#BytesinallHeaps&#34; DATATYPE=&#34;integer&#34; /&#38;gt;&#60;br /&#62;
    &#38;lt;CHART CHARTTITLE=&#34;\\.NET CLR Memory(Vertical.Wave.ViewPoint)\\# Bytes in all Heaps&#34; OTSFORMAT=&#34;MM/dd hh:mm&#34; GROUPSIZE=&#34;640x480&#34; CATEGORIES=&#34;AUTO&#34; DATATYPE=&#34;integer&#34; LEGEND=&#34;ON&#34; MAXCATEGORYLABELS=&#34;0&#34; CHARTTYPE=&#34;Line&#34; VALUES=&#34;AUTO&#34; DATASOURCE=&#34;\\.NET CLR Memory(Vertical.Wave.ViewPoint)\\# Bytes in all Heaps&#34; /&#38;gt;&#60;br /&#62;
    &#38;lt;THRESHOLD NAME=&#34;Significant .NET Heap usage for Vertical.Wave.ViewPoint, possible memory leak.&#34; CONDITION=&#34;Warning&#34; COLOR=&#34;#FFFF00&#34; PRIORITY=&#34;50&#34;&#38;gt;&#60;br /&#62;
      &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[This analysis checks if the process's .NET heap has exceeded 32 MBytes and if the trend shows a rate increase of 10 MBytes per hour, in which case, a memory leak may be occuring, or at least the process is consuming a significant amount of memory resources on the .NET side.]]&#38;gt;&#38;lt;/DESCRIPTION&#38;gt;&#60;br /&#62;
      &#60;code&#62;&#38;lt;![CDATA[' If the heap usage is over 32MBs and if the trend shows a 10MB increase at each hour.&#60;br /&#62;
If IsNull(AvgNETCLRMemory_#BytesinallHeaps) = False AND IsNull(TrendNETCLRMemory_#BytesinallHeaps) = False Then&#60;br /&#62;
  If AvgNETCLRMemory_#BytesinallHeaps &#38;gt; 32000000 AND TrendNETCLRMemory_#BytesinallHeaps &#38;gt; pMRate000000 Then&#60;br /&#62;
    IsTrendThresholdBroken = True&#60;br /&#62;
  End If&#60;br /&#62;
End If]]&#38;gt;&#60;/code&#62;&#60;br /&#62;
    &#38;lt;/THRESHOLD&#38;gt;&#60;br /&#62;
    &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[This counter is the sum of four other counters; Gen 0 Heap Size; Gen 1 Heap Size; Gen 2 Heap Size and the Large Object Heap Size. This counter indicates the current memory allocated in bytes on the GC Heaps. &#60;/p&#62;
&#60;p&#62;This analysis checks if the process's .NET heap has exceeded 32 MBytes and if the trend shows a rate increase of 10 MBytes per hour, in which case, a memory leak may be occuring, or at least the process is consuming a significant amount of memory resources on the .NET side.&#60;/p&#62;
&#60;p&#62;Also, keep in mind that newly started processes will initially appear as a memory leak when it is simply normal start up behavior. A memory leak is when a process continues to consume memory and not releasing memory over a long period of time.&#60;/p&#62;
&#60;p&#62;Use this analysis in correlation with the Available Memory analysis, and total process (i.e. Process(*)) private bytes allocation analysis. If you suspect a memory leak condition, then install and use the Debug Diag tool. For more information on the Debug Diag Tool, see the references section.&#60;/p&#62;
&#60;p&#62;&#38;lt;B&#38;gt;References:&#38;lt;/B&#38;gt;&#60;/p&#62;
&#60;p&#62;Debug Diagnostic Tool v1.1 &#60;a href=&#34;http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&#38;amp;displaylang=en&#38;#038;gt;&#38;#038;lt;/DESCRIPTION&#38;#038;gt&#34; rel=&#34;nofollow&#34;&#62;http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&#38;amp;displaylang=en&#38;#038;gt;&#38;#038;lt;/DESCRIPTION&#38;#038;gt&#60;/a&#62;;&#60;br /&#62;
  &#38;lt;/ANALYSIS&#38;gt;&#60;br /&#62;
SCRIPTHEADER&#60;br /&#62;
### End Step 1 ###&#60;/p&#62;
&#60;p&#62;### Functions ##################################################################&#60;br /&#62;
for($i=1;$i&#38;lt;=$numVpClients-1;$i++){&#60;br /&#62;
	print OUTPUTSCRIPT &#38;lt;&#38;lt;CLIENTBLOCK;&#60;br /&#62;
&#38;lt;ANALYSIS NAME=&#34;Memory Leak Detection for Vertical.Wave.ViewPoint#$i&#34; ENABLED=&#34;True&#34; ANALYZECOUNTER=&#34;\\Process(Vertical.Wave.ViewPoint#$i)\\Private Bytes&#34; CATEGORY=&#34;Process&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;COUNTER NAME=&#34;\\Process(Vertical.Wave.ViewPoint#$i)\\Private Bytes&#34; MINVARNAME=&#34;MinPrivateBytes&#34; AVGVARNAME=&#34;AvgPrivateBytes&#34; MAXVARNAME=&#34;MaxPrivateBytes&#34; TRENDVARNAME=&#34;TrendPrivateBytes&#34; DATATYPE=&#34;Integer&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;/COUNTER&#38;gt;&#60;br /&#62;
    &#38;lt;THRESHOLD NAME=&#34;Memory: an increasing trend of 10MB's per hour detected for Vertical.Wave.ViewPoint#$i&#34; CONDITION=&#34;Warning&#34; COLOR=&#34;Yellow&#34; PRIORITY=&#34;50&#34;&#38;gt;&#60;br /&#62;
      &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[If the private bytes size is greater than &#38;lt;B&#38;gt;100MB&#38;lt;/B&#38;gt; and the process is increasing at a rate greater than &#38;lt;B&#38;gt;10MB's&#38;lt;/B&#38;gt; per hour, then an aggressive memory leak is suspected.&#60;br /&#62;
        ]]&#38;gt;&#38;lt;/DESCRIPTION&#38;gt;&#60;br /&#62;
      &#60;code&#62;&#38;lt;![CDATA[' If the private bytes is over 100MBs and if the trend shows a 10MB increase at each hour.&#60;br /&#62;
If IsNull(AvgPrivateBytes) = False AND IsNull(TrendPrivateBytes) = False Then&#60;br /&#62;
  If AvgPrivateBytes &#38;gt; 100000000 AND TrendPrivateBytes &#38;gt; 10000000 Then&#60;br /&#62;
    IsTrendThresholdBroken = True&#60;br /&#62;
  End If&#60;br /&#62;
End If]]&#38;gt;&#60;/code&#62;&#60;br /&#62;
    &#38;lt;/THRESHOLD&#38;gt;&#60;br /&#62;
    &#38;lt;CHART CHARTTYPE=&#34;Line&#34; CATEGORIES=&#34;AUTO&#34; MAXCATEGORYLABELS=&#34;0&#34; LEGEND=&#34;ON&#34; VALUES=&#34;AUTO&#34; GROUPSIZE=&#34;640x480&#34; OTSFORMAT=&#34;MM/dd hh:mm&#34; CHARTTITLE=&#34;\\Process(Vertical.Wave.ViewPoint#$i)\\Private Bytes&#34; DATASOURCE=&#34;\\Process(Vertical.Wave.ViewPoint#$i)\\Private Bytes&#34; DATATYPE=&#34;Integer&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;/CHART&#38;gt;&#60;br /&#62;
    &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[This analysis determines if the process is consuming a large chunk of the system's memory and if the process is increasing in memory consumption over time. A process consuming large portions of memory is okay as long as the process returns the memory back to the system. Look for increasing trends in the chart. An increasing trend over a long period of time could indicate a memory leak. Private Bytes is the current size, in bytes, of memory that this process has allocated that cannot be shared with other processes. This analysis checks for a 10MB’s per hour increasing trends. Use this analysis in correlation with the Available Memory analysis, and total process (i.e. Process(*)) private bytes allocation analysis.&#60;/p&#62;
&#60;p&#62;Also, keep in mind that newly started processes will initially appear as a memory leak when it is simply normal start up behavior. A memory leak is when a process continues to consume memory and not releasing memory over a long period of time.&#60;/p&#62;
&#60;p&#62;Use this analysis in correlation with the Available Memory analysis, and total process (i.e. Process(*)) private bytes allocation analysis. If you suspect a memory leak condition, then install and use the Debug Diag tool. For more information on the Debug Diag Tool, see the references section.&#60;/p&#62;
&#60;p&#62;&#38;lt;B&#38;gt;References:&#38;lt;/B&#38;gt;&#60;/p&#62;
&#60;p&#62;Debug Diagnostic Tool v1.1 &#60;a href=&#34;http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&#38;amp;displaylang=en&#38;#038;gt;&#38;#038;lt;/DESCRIPTION&#38;#038;gt&#34; rel=&#34;nofollow&#34;&#62;http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&#38;amp;displaylang=en&#38;#038;gt;&#38;#038;lt;/DESCRIPTION&#38;#038;gt&#60;/a&#62;;&#60;br /&#62;
  &#38;lt;/ANALYSIS&#38;gt;&#60;br /&#62;
  &#38;lt;ANALYSIS NAME=&#34;Handle Leak Detection for Vertical.Wave.ViewPoint#$i&#34; ENABLED=&#34;True&#34; ANALYZECOUNTER=&#34;\\Process(Vertical.Wave.ViewPoint#$i)\\Handle Count&#34; CATEGORY=&#34;Process&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;COUNTER NAME=&#34;\\Process(Vertical.Wave.ViewPoint#$i)\\Handle Count&#34; MINVARNAME=&#34;MinHandleCount&#34; AVGVARNAME=&#34;AvgHandleCount&#34; MAXVARNAME=&#34;MaxHandleCount&#34; TRENDVARNAME=&#34;TrendHandleCount&#34; DATATYPE=&#34;Integer&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;/COUNTER&#38;gt;&#60;br /&#62;
    &#38;lt;THRESHOLD NAME=&#34;Handle Leak Suspected - more than 2000 handles and a trend of more than 100 handles per hour&#34; CONDITION=&#34;Warning&#34; COLOR=&#34;Yellow&#34; PRIORITY=&#34;50&#34;&#38;gt;&#60;br /&#62;
      &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[Checks for any process with a handle count greater than &#38;lt;B&#38;gt;2000&#38;lt;/B&#38;gt; and if the trend is greater than &#38;lt;B&#38;gt;100&#38;lt;/B&#38;gt; handles per hour. If so, check the chart to determine if the counter is on an increasing trend potentially indicating a handle leak.]]&#38;gt;&#38;lt;/DESCRIPTION&#38;gt;&#60;br /&#62;
      &#60;code&#62;&#38;lt;![CDATA[If IsNull(AvgHandleCount) = False AND IsNull(TrendHandleCount) = False Then&#60;br /&#62;
  If AvgHandleCount &#38;gt; 2000 AND TrendHandleCount &#38;gt; 100 Then&#60;br /&#62;
    IsTrendThresholdBroken = True&#60;br /&#62;
  End If&#60;br /&#62;
End If]]&#38;gt;&#60;/code&#62;&#60;br /&#62;
    &#38;lt;/THRESHOLD&#38;gt;&#60;br /&#62;
    &#38;lt;CHART CHARTTYPE=&#34;Line&#34; CATEGORIES=&#34;AUTO&#34; MAXCATEGORYLABELS=&#34;0&#34; LEGEND=&#34;ON&#34; VALUES=&#34;AUTO&#34; GROUPSIZE=&#34;640x480&#34; OTSFORMAT=&#34;MM/dd hh:mm&#34; CHARTTITLE=&#34;\\Process(Vertical.Wave.ViewPoint#$i)\\Handle Count&#34; DATASOURCE=&#34;\\Process(Vertical.Wave.ViewPoint#$i)\\Handle Count&#34; DATATYPE=&#34;Integer&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;/CHART&#38;gt;&#60;br /&#62;
    &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[This analysis checks the process to determine how many handles it has open and determines if a handle leak is suspected. A process with a large number of handles and/or an aggresive upward trend could indicate a handle leak which typically results in a memory leak. The total number of handles currently open by this process. This number is equal to the sum of the handles currently open by each thread in this process.]]&#38;gt;&#38;lt;/DESCRIPTION&#38;gt;&#60;br /&#62;
  &#38;lt;/ANALYSIS&#38;gt;&#60;br /&#62;
  &#38;lt;ANALYSIS NAME=&#34;Vertical.Wave.ViewPoint#$i Processor Utilization&#34; ENABLED=&#34;True&#34; ANALYZECOUNTER=&#34;\\Process(Vertical.Wave.ViewPoint#$i)\\% Processor Time&#34; CATEGORY=&#34;Process&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;COUNTER NAME=&#34;\\Process(Vertical.Wave.ViewPoint#$i)\\% Processor Time&#34; MINVARNAME=&#34;MinProcess_PercentProcessorTime&#34; AVGVARNAME=&#34;AvgProcess_PercentProcessorTime&#34; MAXVARNAME=&#34;MaxProcess_PercentProcessorTime&#34; TRENDVARNAME=&#34;TrendProcess_PercentProcessorTime&#34; DATATYPE=&#34;integer&#34; /&#38;gt;&#60;br /&#62;
    &#38;lt;CHART CHARTTITLE=&#34;\\Process(Vertical.Wave.ViewPoint#$i)\\% Processor Time&#34; OTSFORMAT=&#34;MM/dd hh:mm&#34; GROUPSIZE=&#34;640x480&#34; CATEGORIES=&#34;AUTO&#34; DATATYPE=&#34;integer&#34; LEGEND=&#34;ON&#34; MAXCATEGORYLABELS=&#34;0&#34; CHARTTYPE=&#34;Line&#34; VALUES=&#34;AUTO&#34; DATASOURCE=&#34;\\Process(Vertical.Wave.ViewPoint#$i)\\% Processor Time&#34; /&#38;gt;&#60;br /&#62;
    &#38;lt;THRESHOLD NAME=&#34;Significant Processor Use Suspected for Vertical.Wave.ViewPoint#$i - more than 10% CPU utilization&#34; CONDITION=&#34;Warning&#34; COLOR=&#34;Yellow&#34; PRIORITY=&#34;50&#34;&#38;gt;&#60;br /&#62;
      &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[This analysis checks if the process is consuming a significant amount of processor time, as specified by the current average/maximum threshold of 10% CPU utilization.]]&#38;gt;&#38;lt;/DESCRIPTION&#38;gt;&#60;br /&#62;
      &#60;code&#62;&#38;lt;![CDATA[&#60;br /&#62;
If AvgProcess_PercentProcessorTime &#38;gt; 7Then&#60;br /&#62;
    IsTrendThresholdBroken = True&#60;br /&#62;
    IsAvgThresholdBroken = True&#60;br /&#62;
End If&#60;/p&#62;
&#60;p&#62;If AvgProcess_PercentProcessorTime &#38;gt; 10 Or MaxProcess_PercentProcessorTime &#38;gt; 10 Then&#60;br /&#62;
    IsMaxThresholdBroken = True&#60;br /&#62;
End If]]&#38;gt;&#60;/code&#62;&#60;br /&#62;
    &#38;lt;/THRESHOLD&#38;gt;&#60;br /&#62;
    &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[% Processor Time is the percentage of elapsed time that all of process threads used the processor to execution instructions. An instruction is the basic unit of execution in a computer, a thread is the object that executes instructions, and a process is the object created when a program is run. Code executed to handle some hardware interrupts and trap conditions are included in this count.]]&#38;gt;&#38;lt;/DESCRIPTION&#38;gt;&#60;br /&#62;
  &#38;lt;/ANALYSIS&#38;gt;&#60;br /&#62;
  &#38;lt;ANALYSIS NAME=&#34;.NET CLR Memory # Bytes in all Heaps for Vertical.Wave.ViewPoint#$i&#34; ENABLED=&#34;True&#34; ANALYZECOUNTER=&#34;\\.NET CLR Memory(Vertical.Wave.ViewPoint#$i)\\# Bytes in all Heaps&#34; CATEGORY=&#34;Process&#34;&#38;gt;&#60;br /&#62;
    &#38;lt;COUNTER NAME=&#34;\\.NET CLR Memory(Vertical.Wave.ViewPoint#$i)\\# Bytes in all Heaps&#34; MINVARNAME=&#34;MinNETCLRMemory_#BytesinallHeaps&#34; AVGVARNAME=&#34;AvgNETCLRMemory_#BytesinallHeaps&#34; MAXVARNAME=&#34;MaxNETCLRMemory_#BytesinallHeaps&#34; TRENDVARNAME=&#34;TrendNETCLRMemory_#BytesinallHeaps&#34; DATATYPE=&#34;integer&#34; /&#38;gt;&#60;br /&#62;
    &#38;lt;CHART CHARTTITLE=&#34;\\.NET CLR Memory(Vertical.Wave.ViewPoint#$i)\\# Bytes in all Heaps&#34; OTSFORMAT=&#34;MM/dd hh:mm&#34; GROUPSIZE=&#34;640x480&#34; CATEGORIES=&#34;AUTO&#34; DATATYPE=&#34;integer&#34; LEGEND=&#34;ON&#34; MAXCATEGORYLABELS=&#34;0&#34; CHARTTYPE=&#34;Line&#34; VALUES=&#34;AUTO&#34; DATASOURCE=&#34;\\.NET CLR Memory(Vertical.Wave.ViewPoint#$i)\\# Bytes in all Heaps&#34; /&#38;gt;&#60;br /&#62;
    &#38;lt;THRESHOLD NAME=&#34;Significant .NET Heap usage for Vertical.Wave.ViewPoint#$i, possible memory leak.&#34; CONDITION=&#34;Warning&#34; COLOR=&#34;#FFFF00&#34; PRIORITY=&#34;50&#34;&#38;gt;&#60;br /&#62;
      &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[This analysis checks if the process's .NET heap has exceeded 32 MBytes and if the trend shows a rate increase of 10 MBytes per hour, in which case, a memory leak may be occuring, or at least the process is consuming a significant amount of memory resources on the .NET side.]]&#38;gt;&#38;lt;/DESCRIPTION&#38;gt;&#60;br /&#62;
      &#60;code&#62;&#38;lt;![CDATA[' If the heap usage is over 32MBs and if the trend shows a 10MB increase at each hour.&#60;br /&#62;
If IsNull(AvgNETCLRMemory_#BytesinallHeaps) = False AND IsNull(TrendNETCLRMemory_#BytesinallHeaps) = False Then&#60;br /&#62;
  If AvgNETCLRMemory_#BytesinallHeaps &#38;gt; 32000000 AND TrendNETCLRMemory_#BytesinallHeaps &#38;gt; pMRate000000 Then&#60;br /&#62;
    IsTrendThresholdBroken = True&#60;br /&#62;
  End If&#60;br /&#62;
End If]]&#38;gt;&#60;/code&#62;&#60;br /&#62;
    &#38;lt;/THRESHOLD&#38;gt;&#60;br /&#62;
    &#38;lt;DESCRIPTION&#38;gt;&#38;lt;![CDATA[This counter is the sum of four other counters; Gen 0 Heap Size; Gen 1 Heap Size; Gen 2 Heap Size and the Large Object Heap Size. This counter indicates the current memory allocated in bytes on the GC Heaps. &#60;/p&#62;
&#60;p&#62;This analysis checks if the process's .NET heap has exceeded 32 MBytes and if the trend shows a rate increase of 10 MBytes per hour, in which case, a memory leak may be occuring, or at least the process is consuming a significant amount of memory resources on the .NET side.&#60;/p&#62;
&#60;p&#62;Also, keep in mind that newly started processes will initially appear as a memory leak when it is simply normal start up behavior. A memory leak is when a process continues to consume memory and not releasing memory over a long period of time.&#60;/p&#62;
&#60;p&#62;Use this analysis in correlation with the Available Memory analysis, and total process (i.e. Process(*)) private bytes allocation analysis. If you suspect a memory leak condition, then install and use the Debug Diag tool. For more information on the Debug Diag Tool, see the references section.&#60;/p&#62;
&#60;p&#62;&#38;lt;B&#38;gt;References:&#38;lt;/B&#38;gt;&#60;/p&#62;
&#60;p&#62;Debug Diagnostic Tool v1.1 &#60;a href=&#34;http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&#38;amp;displaylang=en&#38;#038;gt;&#38;#038;lt;/DESCRIPTION&#38;#038;gt&#34; rel=&#34;nofollow&#34;&#62;http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&#38;amp;displaylang=en&#38;#038;gt;&#38;#038;lt;/DESCRIPTION&#38;#038;gt&#60;/a&#62;;&#60;br /&#62;
  &#38;lt;/ANALYSIS&#38;gt;&#60;/p&#62;
&#60;p&#62;CLIENTBLOCK&#60;br /&#62;
}&#60;br /&#62;
print OUTPUTSCRIPT &#34;&#38;lt;/PAL&#38;gt;\n&#34;;&#60;br /&#62;
close (OUTPUTSCRIPT);&#60;br /&#62;
print &#34;\nPAL template generated.\n&#34;;
&#60;/p&#62;</description>
</item>
<item>
<title>soulraven on "email2SMS Kannel &#38;gmail"</title>
<link>http://www.roth.net/forums/topic.php?id=307#post-653</link>
<pubDate>Thu, 26 Aug 2010 21:09:01 +0000</pubDate>
<dc:creator>soulraven</dc:creator>
<guid isPermaLink="false">653@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;hy, i save setup a Kannel server for sending SMS, and now i vant to send sms via e-mail.&#60;br /&#62;
i found this script but is for pop3 with out SSL.&#60;br /&#62;
o have adapt the script for SSL, but i have a few problems,&#60;br /&#62;
- i can't read all the e-mail at once,&#60;br /&#62;
- i can't go to the next step to sort end complete the URL for Kannel.&#60;br /&#62;
[Code]&#60;br /&#62;
#!/bin/perl&#60;/p&#62;
&#60;p&#62;use Mail::POP3Client;&#60;br /&#62;
use IO::Socket::SSL;&#60;br /&#62;
use CGI qw(:standard);&#60;br /&#62;
$cgi = new CGI;&#60;br /&#62;
use LWP::UserAgent;&#60;/p&#62;
&#60;p&#62;$username = 'email@domanin.ro';&#60;br /&#62;
$password = 'password';&#60;/p&#62;
&#60;p&#62;$mailhost = 'pop.gmail.com'; #examplepop.gmail.com&#60;br /&#62;
$port = '995'; #995&#60;/p&#62;
&#60;p&#62;print $cgi-&#38;gt;header();&#60;/p&#62;
&#60;p&#62;$pop = Mail::POP3Client-&#38;gt;new(USER =&#38;gt; $username,&#60;br /&#62;
PASSWORD =&#38;gt; $password,&#60;br /&#62;
HOST =&#38;gt; $mailhost,&#60;br /&#62;
PORT =&#38;gt; $port,&#60;br /&#62;
USESSL =&#38;gt; 'true',&#60;br /&#62;
DEBUG =&#38;gt; 0,) or die(&#34;ERROR: Unable to connect to mail server.\n&#34;);&#60;/p&#62;
&#60;p&#62;if (($pop-&#38;gt;Count()) &#38;lt; 1) {&#60;br /&#62;
print &#34;No messages...\n&#34;;&#60;br /&#62;
exit;&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;my $Messages = $pop-&#38;gt;Count();&#60;br /&#62;
my ($MsgDel,$MsgNo);&#60;br /&#62;
my ($MsgId, $MsgDate, $MsgFrom, $MsgTo, $MsgSub, $Delivred_To, $Content);&#60;br /&#62;
my ($MsgAttach, $MsgSize, $MsgHeader, $MsgHeadFlg, $MsgBody, $MIME_Version, $Received_Time, $Origin_IP);&#60;/p&#62;
&#60;p&#62;foreach $MsgNo ( $Messages ) {&#60;br /&#62;
my $MsgContent = $pop-&#38;gt;HeadAndBody($MsgNo);&#60;br /&#62;
my $count = 0;&#60;br /&#62;
$MsgHeadFlg = 0;&#60;br /&#62;
$MsgBody = &#34;&#34;;&#60;/p&#62;
&#60;p&#62;(my $Mesaj_NR, my $MsgSize) = split('\s+',$pop-&#38;gt;List($MsgNo));&#60;/p&#62;
&#60;p&#62;#print $MsgSize . &#34;Marime mesaj \n&#34;;&#60;br /&#62;
#print $Mesaj_NR . &#34;Nr. Mesaj \n&#34;;&#60;br /&#62;
#print $MsgContent . &#34;\n&#34;;&#60;/p&#62;
&#60;p&#62;# Process message data&#60;br /&#62;
while()&#60;br /&#62;
{&#60;/p&#62;
&#60;p&#62;# Exit if last line of mail&#60;br /&#62;
if ($count &#38;gt;= scalar(@$MsgContent))&#60;br /&#62;
{&#60;br /&#62;
#print $MsgContent . &#34;count&#34;;&#60;br /&#62;
last;&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;# Check if end of mail header&#60;br /&#62;
if (@$MsgContent[$count] =~ /^\n/)&#60;br /&#62;
{&#60;br /&#62;
$MsgHeadFlg = 1;&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;# Proceed if message header not processed&#60;br /&#62;
if (not $MsgHeadFlg)&#60;br /&#62;
{&#60;/p&#62;
&#60;p&#62;# Split the line&#60;br /&#62;
my @LineContent = split /: /, @$MsgContent[$count];&#60;/p&#62;
&#60;p&#62;# Check Header Info&#60;br /&#62;
SWITCH:&#60;br /&#62;
{&#60;/p&#62;
&#60;p&#62;#Get MIME Version&#60;br /&#62;
$LineContent[0] =~ /MIME-Version/i &#38;amp;&#38;amp; do&#60;br /&#62;
{&#60;br /&#62;
$MIME_Version = $LineContent[1];&#60;br /&#62;
last SWITCH;&#60;br /&#62;
};&#60;br /&#62;
#Get Time Of recived&#60;br /&#62;
$LineContent[0] =~ /Received/i &#38;amp;&#38;amp; do&#60;br /&#62;
{&#60;br /&#62;
$Received_Time = $LineContent[1];&#60;br /&#62;
last SWITCH;&#60;br /&#62;
};&#60;br /&#62;
#Get IP of sender&#60;br /&#62;
$LineContent[0] =~ /X-Originating-IP/i &#38;amp;&#38;amp; do&#60;br /&#62;
{&#60;br /&#62;
$Origin_IP = $LineContent[1];&#60;br /&#62;
last SWITCH;&#60;br /&#62;
};&#60;br /&#62;
#Get Date&#60;br /&#62;
$LineContent[0] =~ /Date/i &#38;amp;&#38;amp; do&#60;br /&#62;
{&#60;br /&#62;
$MsgDate = $LineContent[1];&#60;br /&#62;
last SWITCH;&#60;br /&#62;
};&#60;br /&#62;
#Get Delivred To&#60;br /&#62;
$LineContent[0] =~ /Delivered-To/i &#38;amp;&#38;amp; do&#60;br /&#62;
{&#60;br /&#62;
$Delivred_To = $LineContent[1];&#60;br /&#62;
last SWITCH;&#60;br /&#62;
};&#60;br /&#62;
# Get message id&#60;br /&#62;
$LineContent[0] =~ /Message-ID/i &#38;amp;&#38;amp; do&#60;br /&#62;
{&#60;br /&#62;
$MsgId = $LineContent[1];&#60;br /&#62;
last SWITCH;&#60;br /&#62;
};&#60;br /&#62;
# Get message subject&#60;br /&#62;
$LineContent[0] =~ /Subject/i &#38;amp;&#38;amp; do&#60;br /&#62;
{&#60;br /&#62;
$MsgSub = $LineContent[1];&#60;br /&#62;
last SWITCH;&#60;br /&#62;
};&#60;/p&#62;
&#60;p&#62;# Get message from&#60;br /&#62;
$LineContent[0] =~ /From/i &#38;amp;&#38;amp; do&#60;br /&#62;
{&#60;br /&#62;
$MsgFrom = $LineContent[1];&#60;br /&#62;
last SWITCH;&#60;br /&#62;
};&#60;/p&#62;
&#60;p&#62;# Get message to&#60;br /&#62;
$LineContent[0] =~ /To/i &#38;amp;&#38;amp; do&#60;br /&#62;
{&#60;br /&#62;
$MsgTo = $LineContent[1];&#60;br /&#62;
last SWITCH;&#60;br /&#62;
};&#60;br /&#62;
# Get Content type&#60;br /&#62;
$LineContent[0] =~ /Content-Type/i &#38;amp;&#38;amp; do&#60;br /&#62;
{&#60;br /&#62;
$Content = $LineContent[1];&#60;br /&#62;
last SWITCH;&#60;br /&#62;
};&#60;br /&#62;
}&#60;br /&#62;
}&#60;br /&#62;
else&#60;br /&#62;
{&#60;br /&#62;
# Process message body&#60;br /&#62;
$MsgBody .= @$MsgContent[$count];&#60;br /&#62;
}&#60;br /&#62;
$count++;&#60;br /&#62;
}&#60;br /&#62;
my $ua = new LWP::UserAgent;&#60;br /&#62;
$ua-&#38;gt;timeout(120);&#60;br /&#62;
#my $result = &#60;code&#62;ps -e &#124; grep -v grep&#124;grep smsbox &#124;awk \&#38;#39;{print \$1}\&#38;#39;&#60;/code&#62;;&#60;br /&#62;
my $result = true;&#60;/p&#62;
&#60;p&#62;if ( $result ne &#34;&#34; )&#60;br /&#62;
{&#60;br /&#62;
print $MsgSub . &#34;subiect mesaj \n&#34;;&#60;br /&#62;
print $MsgBody . &#34;continut mesaj \n&#34;;&#60;br /&#62;
my $url=&#34;http://kennel.domain.com:13013/cgi-bin/sendsms?username=kennel_user&#38;amp;password=kenel_passwd&#38;amp;to=$MsgSub&#38;amp;text=$MsgBody&#34;;&#60;br /&#62;
my $request = new HTTP::Request('GET', $url);&#60;br /&#62;
my $response = $ua-&#38;gt;request($request);&#60;br /&#62;
my $content = $response-&#38;gt;content();&#60;br /&#62;
$MsgDel = $pop-&#38;gt;Delete($MsgNo)&#60;br /&#62;
}&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;# Disconnect from pop3 server&#60;br /&#62;
$pop-&#38;gt;close();&#60;/p&#62;
&#60;p&#62;exit;&#60;/p&#62;
&#60;p&#62;[/Code]&#60;/p&#62;
&#60;p&#62;please help with this script,&#60;br /&#62;
sorry for my bad english
&#60;/p&#62;</description>
</item>
<item>
<title>rcap on "Win32-Daemin updated ppd for perl 5.10 ?"</title>
<link>http://www.roth.net/forums/topic.php?id=294#post-652</link>
<pubDate>Thu, 12 Aug 2010 04:07:40 +0000</pubDate>
<dc:creator>rcap</dc:creator>
<guid isPermaLink="false">652@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hi, &#60;/p&#62;
&#60;p&#62;I have just obtained a copy of the W32::Daemon package for Activepearl 5.10 and tried to install manually...&#60;/p&#62;
&#60;p&#62;Not such a success... Perl Package manager just doesnt pick up the package.&#60;/p&#62;
&#60;p&#62;So... I tried to run an install using the PPD using 'ppm install &#34;path to ppd&#34;.... again not a success error was 'downloading '' object not found. &#60;/p&#62;
&#60;p&#62;So i edited the ppd as it was pointing to the roth site and directed it towards my local download of the zipped package. error now is 'ppm install failed: Can't locate object method &#34;host&#34; via package &#34;URI::_foreign&#34;&#60;/p&#62;
&#60;p&#62;Any assistance would be greatly accepted, in resolving this issue.
&#60;/p&#62;</description>
</item>
<item>
<title>vinod on "XML Automation"</title>
<link>http://www.roth.net/forums/topic.php?id=306#post-649</link>
<pubDate>Tue, 06 Jul 2010 02:27:15 +0000</pubDate>
<dc:creator>vinod</dc:creator>
<guid isPermaLink="false">649@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;Hi All,&#60;/p&#62;
&#60;p&#62;I am a newbie for perl with some knowledge on C language. I have a task wherein I need to compare two xml files having different formats based on certain rules.&#60;/p&#62;
&#60;p&#62;I need some guidance on how to move forward to accomplish the task.
&#60;/p&#62;</description>
</item>
<item>
<title>tej.87g on "Replace some numbers with En dash or em dash"</title>
<link>http://www.roth.net/forums/topic.php?id=305#post-648</link>
<pubDate>Wed, 30 Jun 2010 18:57:46 +0000</pubDate>
<dc:creator>tej.87g</dc:creator>
<guid isPermaLink="false">648@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;HI..&#60;br /&#62;
I have a file and i want to replace certain numbers or tags with en dash or em dash. Can anybody please tell me how can i insert such symbols using perl.&#60;/p&#62;
&#60;p&#62;Thank you so much..
&#60;/p&#62;</description>
</item>
<item>
<title>tej.87g on "Replace some numbers with En dash or em dash"</title>
<link>http://www.roth.net/forums/topic.php?id=304#post-647</link>
<pubDate>Wed, 30 Jun 2010 18:57:10 +0000</pubDate>
<dc:creator>tej.87g</dc:creator>
<guid isPermaLink="false">647@http://www.roth.net/forums/</guid>
<description>&#60;p&#62;HI..&#60;br /&#62;
I have a file and i want to replace certain numbers or tags with en dash or em dash. Can anybody please tell me how can i insert such symbols using perl.&#60;/p&#62;
&#60;p&#62;Thank you so much..
&#60;/p&#62;</description>
</item>

</channel>
</rss>

