Sponsored Content
Top Forums Shell Programming and Scripting Help gettgin this script to work on linux Post 302549596 by binary-ninja on Tuesday 23rd of August 2011 10:49:09 AM
Old 08-23-2011
Help gettgin this script to work on linux

This script used to work on windows but is erroring our at line 25 when run under linux. The specific errir that i get is "Can't call method "mtime" on an undefined value at ./make_event_log_index.pl line 25."

Any help would be appreciated

....................................................................................................
Code:
#!/usr/bin/perl -w

use File::Find;
use File::stat;

for ($count = 1; $count <= 23; $count++){
  $#file = -1; # Zero-out array
  $dir = "/home/bed_mfg1/event_logs";
  find(\&Wanted, $dir);
  @file=reverse(sort(@file));
  open (FILE, "> /tmp/event_logs_listing.tmp") or die "Could not open file: $!";
  print FILE "@file";
  close FILE;
  rename "/batch/event_logs_listing.tmp", "/batch/event_logs_listing.txt";
  $#file = -1; # Zero-out array after run (so memory's freed for sleep cycle)
  sleep 3300;  # Roughly the amount of time, when added to execution time, to equal an hr
}


sub Wanted
  {
    my $name = $File::Find::name;
    $name =~ s/\//\\/g;
    $size = -s "$name";
    $date = stat($name)-> mtime;
    my ($sec, $min, $hour, $day, $month, $year) = (localtime($date))[0,1,2,3,4,5,6];
    $year+=1900;
    $month++;  # I have _NO_ idea why $month is off by one.  None.
    if ($min < 10){$min = "0".$min;}
    if ($hour < 10){$hour = "0".$hour;}
    if ($month < 10){$month = "0".$month;}
    if ($day < 10){$day = "0".$day;}

    $name =~ s/\\/\\\\/;
    $file[$#file+1]  = "$year-$month-$day".'_'."$hour:$min".",".$name.",".$size."\n";
  }


Last edited by pludi; 08-23-2011 at 12:03 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

ISDN on Linux..will it work?

Hi everyone! I going to change from a 56k modem to a ISDN connection and was wondering if this will work under Linux and what i would need to get it up and running ? (on Mandrake 8.0).. thanx in advance.. grtz phaelanx :) (4 Replies)
Discussion started by: Phaelanx
4 Replies

2. UNIX for Advanced & Expert Users

Trying to get my USB network card to work with Linux

Ok, heres the deal... Yesterday i installed Unix on my laptop and surprisingly everything works perfect.....exept my network card i have a linksys USB network card (basically a thing you plug into a USB port that is now your NIC card and i connect it to my router) But i have no idea how i... (1 Reply)
Discussion started by: Freakytah
1 Replies

3. UNIX for Dummies Questions & Answers

Is it possible to put the whole Linux OS on DVD and work with it?

Is it possible to put the whole Linux OS on DVD and work with it? If yes, how to do it? (1 Reply)
Discussion started by: alexhon
1 Replies

4. UNIX for Dummies Questions & Answers

Work on Linux Using Bootable CD ??

Hi , I am using a laptop with windows XP as the operating system. i want to use linux/unix without installing it on my machine. I heard that i can do so using some Linux bootable CD .... which can be used to work on linux environment with out physically installing it on your system. I... (2 Replies)
Discussion started by: newbie07
2 Replies

5. UNIX for Dummies Questions & Answers

Script doesn't work, but commands inside work

Howdie everyone... I have a shell script RemoveFiles.sh Inside this file, it only has two commands as below: rm -f ../../reportToday/temp/* rm -f ../../report/* My problem is that when i execute this script, nothing happened. Files remained unremoved. I don't see any error message as it... (2 Replies)
Discussion started by: cheongww
2 Replies

6. UNIX for Dummies Questions & Answers

Any Linux/Unix work with SATA yet?

i got my computer in 2k, built it myself. top of the line then and better than most still now. one problem however is i was never able to install unix because the old kernels were not compatible with SATA hard drives i dont have any IDE drives nor do i want any I want mine on SATA, but every... (5 Replies)
Discussion started by: GXDeMoNN
5 Replies

7. Shell Programming and Scripting

sed works on Linux and Unix does not work

Hi, I use this command in Linux but if I run the same command does not work in freebsd. Follow the below command: Linux works: sed -e '1731a\' -e '####' squid.conf > squid2.conf ; sed -e '1731a\' -e 'acl TESTE_ip src 192.168.1.1/255.255.255.255' squid2.conf > squid.conf ; sed -e... (7 Replies)
Discussion started by: andreirp
7 Replies

8. Shell Programming and Scripting

Modify awk command to work in linux

Hi All I have the original file like '1','3','COMMON','N','djpCM3PopDimDateGen','JobDescription','1','ds','O','ONE' '1','3','COMMON','N','djpCM3PopDim1','JobDescription','2','ds','O','ONE' '1','3','COMMON','N','djpCM3PopDim2','JobDescription','3','ds','O','ONE'... (3 Replies)
Discussion started by: vee_789
3 Replies

9. What is on Your Mind?

[?] Does Netflix work on Linux in Firefox?

I've tried to totally ignore Netfix to date, though I might change my mind. But I refuse to keep a Windows box running for any reason. Is anyone streaming movies from Netflix and watching them on a Linux box? I went to netflix.com to look for the requirements page. None. OK, how about a... (4 Replies)
Discussion started by: KenJackson
4 Replies

10. Shell Programming and Scripting

My script work on Linux but not work in sunos.

My script work on Linux but not work in sun os. my script. logFiles="sentLog1.log sentLog2.log" intial_time="0 0" logLocation="/usr/local/tomcat/logs/" sleepTime=600 failMessage=":: $(tput bold)Log not update$(tput rmso) = " successMessage="OK" arr=($logFiles)... (7 Replies)
Discussion started by: ooilinlove
7 Replies
File::Find::Rule::Perl(3pm)				User Contributed Perl Documentation			       File::Find::Rule::Perl(3pm)

NAME
File::Find::Rule::Perl - Common rules for searching for Perl things SYNOPSIS
use File::Find::Rule (); use File::Find::Rule::Perl (); # Find all Perl files smaller than 10k my @files = File::Find::Rule->perl_file ->size('<10Ki') ->in('dir'); # Locate all the modules that PAUSE will index my @mod = File::Find::Rule->no_index ->perl_module ->in('My-Distribution'); DESCRIPTION
I write a lot of things that muck with Perl files. And it always annoyed me that finding "perl files" requires a moderately complex File::Find::Rule pattern. File::Find::Rule::Perl provides methods for finding various types Perl-related files, or replicating search queries run on a distribution in various parts of the CPAN ecosystem. METHODS
perl_module The "perl_module" rule locates perl modules. That is, files that are named "*.pm". This rule is equivalent to "->"file->name( '*.pm' )> and is included primarily for completeness. perl_test The "perl_test" rule locates perl test scripts. That is, files that are named "*.t". This rule is equivalent to "->"file->name( '*.t' )> and is included primarily for completeness. perl_installer The "perl_installer" rule locates perl distribution installers. That is, it locates "Makefile.PL" and "Build.PL" files. perl_script The "perl_script" rule locates perl scripts. This is any file that ends in .pl, or any files without extensions that have a perl "hash-bang" line. perl_file The "perl_file" rule locates all files containing Perl code. This includes all the files matching the above "perl_module", "perl_test", "perl_installer" and "perl_script" rules. no_index # Provide the rules directly $rule->no_index( directory => [ 'inc', 't', 'examples' ], file => [ 'Foo.pm', 'lib/Foo.pm' ], ); # Provide a META.yml to use $rule->no_index( 'META.yml' ); # Provide a dist root directory to look for a META.yml in $rule->no_index( 'My-Distribution' ); # Automatically pick up a META.yml from the target directory $rule->no_index->in( 'My-Distribution' ); The "no_index" method applies a set of rules as per the no_index section in a "META.yml" file. SUPPORT
Bugs should always be submitted via the CPAN bug tracker http://rt.cpan.org/NoAuth/ReportBug.html?Queue=File-Find-Rule-Perl <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=File-Find-Rule-Perl> For other issues, contact the maintainer AUTHOR
Adam Kennedy <adamk@cpan.org> SEE ALSO
<http://ali.as/>, File::Find::Rule, File::Find::Rule::PPI COPYRIGHT
Copyright 2006 - 2011 Adam Kennedy. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. perl v5.12.4 2011-10-31 File::Find::Rule::Perl(3pm)
All times are GMT -4. The time now is 07:06 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy