Beloved,

When I write:
#!/usr/bin/perl -w use strict; use Tk; use File::stat; my $mw;#first window my $logl; #label for log my $logtf; #entry box for the log name my $path=""; #hol my $total=0; $mw = MainWindow -> new(); $logl = $mw ->Label (-text=> '\path', -font=>"Adobe 10")->pack; $logtf = $mw ->Entry (-textvariable=> \$path, width=>25)->pack; my $okb =>$mw -> Button(-text=>'GO', -command => sub {size()})->pack(- +side =>'right'); MainLoop; sub size{ chdir $path; opendir DIR, $path; my @file = readdir DIR; closedir DIR; foreach my $file (@file) {$st = stat($file) or die "No $file: $!"; $total = ($st->size)/1048576;#converts from bytes to MB }#foreach print "$total MB for this directory or file"; }#size
and I give it a directory that has MB or GB of data, the numbers that are coming back are not correct.

Basically, I need to call a size method on some directory and collect that number and if necessary change it to be in MB. I will also need to do that with a list of directory.
I would be most greatful if you could give me some clues as to what is wrong and how I can fix it.
Thanks in advance,
Claire

In reply to Finding the size of a directory by Real Perl

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.