Date: Mon, 4 Feb 2002 10:49:23 -0500 (EST) From: James CE Johnson <jcej@tragus.org> To: deepbsd@earthlink.net Cc: ale@ale.org, kplug-list@kernel-panic.org, freebsd-questions@freebsd.org Subject: Re: [ale] perl File::stat question Message-ID: <200202041549.g14FnNU30649@chiroptera.tragus.org> In-Reply-To: <20020204104417.A17219@sylvester.dsj.net> from "David S. Jackson" at Feb 04, 2002 10:44:17 AM
next in thread | previous in thread | raw e-mail | index | archive | help
How about stat("$directory/$file") ? Also, shouldn't > print Tr( td( a({href=>"$dir/$file"}, "<b>$title</b>")), be > print Tr( td( a({href=>"$directory/$file"}, "<b>$title</b>")), > > I'm trying to stat a file > > $info = stat($file); > > and then set > $accesslast = $info->atime; > and > $created = $info->mtime; > > For some reason, stat($file) seems to be coming up null. When I > substitute another file, say stat("/etc/passwd"), $accesslast and > $created come up fine. Can you let me know what I'm doing wrong? > > > NOTE: I don't normally include the whole damn script, but if > there's anything *else* wrong with the code, please let me know > about that too, okay? I'm new at this stuff and I can always use > good advice! :-) > > ########### SNIP ############# > > > #!/usr/bin/perl -wT > > use Carp; > use CGI qw(:standard); > use File::stat; > use strict; > > > my $directory = '/var/www/compedge'; > my $url = 'http://sylvester.dsj.net'; > my $dir = 'compedge'; > > print header(), start_html("My ComputorEdge Articles"), > h1("Articles from <i>I Don't Do Windows</i>: "); > > print p( a({href=>"http://www.computoredge.com"}, "ComputorEdge > Magazine") . " has been gracious enough to give me and my > interest in Linux and UNIX some space in their magazine. Over > the months and years, my articles have accumulated to be a rather > regular part of the magazine. Hopefully, they can be of help for > anyone new to the free UNIXex. They are listed for your benefit > below."); > > print p("Please feel free to search for stuff in my articles " . > a({href=>"$url/$dir/search.html"}, "here"). " Note: I really > need to clean this script up! It's one of Matt's archive scripts > that can't pass muster with use strict or the -T switch. :-)"); > > print p("Meanwhile, you can simply " . > a({href=>"http://www.dsj.net/compedge/"}, "click here ") . "and > browse the directory of articles yourself. Find whatever seems > interesting to you."); > > # Start printing the table > > print "<table align=center border=1>\n"; > print th( "Files:"), th( "Created:"), th("Last Accessed:"); > > opendir (DIR,"$directory"); > while (my $file = readdir(DIR)) { > if ($file =~ /\.html$/) { > open(FILE,"$directory/$file"); > while (<FILE>) { > chomp; > (my $line) = $_; > if ($line =~ /<title>/i) { > # only catches titles on one line...fix later... > (my $title = $line) =~ s#(<title>)(.*)(</title>)#$2#i; > > my $info = stat($file); > > my $created = $info->mtime; > my $accesslast = $info->atime; > > > print Tr( td( a({href=>"$dir/$file"}, "<b>$title</b>")), > td( "Created: $created"), td("Accessed last: $accesslast")); > next; > } > } > close FILE; > } > > } > > # close up the table > print "</table>\n"; > > close DIR; > > > print end_html(); > > ############### SNIP ################## > > TIA! > > > -- > David S. Jackson http://www.dsj.net > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > It's easy to get on the internet and forget you have a life > -- Topic on #LinuxGER > > --- > This message has been sent through the ALE general discussion list. > See http://www.ale.org/mailing-lists.shtml for more info. Problems should be > sent to listmaster at ale dot org. > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202041549.g14FnNU30649>