Sponsored Content
Top Forums Shell Programming and Scripting Perl script for finding directories with mtime Post 302845665 by rajamadhavan on Thursday 22nd of August 2013 04:01:29 AM
Old 08-22-2013
Quote:
Code:
#!/usr/bin/perl

use strict;
use warnings;
open (my $fh, '<', 'test.txt') || die "Could not open test.txt: $!\n";
my @test = grep { $_ !~ /^#/ } <$fh>;
print @test;


You may need to cut down the trailing newline.

Code:
#!/usr/bin/perl

use strict;
use warnings;
my @test;
open (my $fh, '<', 'test.txt') || die "Could not open test.txt: $!\n";
while(<$fh>)
{
  chomp;
  push(@test,$_) if($_ !~ /^#/);
}
print @test;

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

perl package directories - what if the script is diff DIR to the one contain *.pm?

Hi there, say the package is in the ~/ and it's ~/packageFoo.pm I can use usePackage.pl in ~/ (~/usePackage.pl). Now, if I move it to ~/subDIR/usePackage.pl, the script won't work because it's not in the same DIR with packageFoo.pm How can i fix it? Thanks Gusla (1 Reply)
Discussion started by: gusla
1 Replies

2. Shell Programming and Scripting

Script for parsing directories one level and finding directories older than n days

Hello all, Here's the deal...I have one directory with many subdirs and files. What I want to find out is who is keeping old files and directories...say files and dirs that they didn't use since a number of n days, only one level under the initial dir. Output to a file. A script for... (5 Replies)
Discussion started by: ejianu
5 Replies

3. UNIX for Dummies Questions & Answers

(find) mtime vs. (unix) mtime

Hi I've made some test with perl script to learn more about mtime... So, my question is : Why the mtime from findfind /usr/local/sbin -ctime -1 -mtime -1 \( -name "*.log" -o -name "*.gz" \) -print are not the same as mtime from unix/linux in ls -ltr or in stat() function in perl : stat -... (2 Replies)
Discussion started by: hiddenshadow
2 Replies

4. Shell Programming and Scripting

Finding directory and sub-directories individual size in Perl

Hi, Can anyone redirect to an existing thread or provide some info on how to find the size of a directory and it's sub-directories using a single script ? I tried finding a similar thread but in vain. I'm a newbie and any help would be greatly appreciated. Thanks in advance. (3 Replies)
Discussion started by: ryder
3 Replies

5. Shell Programming and Scripting

Run perl script on files in multiple directories

Hi, I want to run a Perl script on multiple files, with same name ("Data.txt") but in different directories (eg : 2010_06_09_A/Data.txt, 2010_06_09_B/Data.txt). I know how to run this perl script on files in the same directory like: for $i in *.txt do perl myscript.pl $i > $i.new... (8 Replies)
Discussion started by: ad23
8 Replies

6. UNIX and Linux Applications

Perl Script to read an excel file into an array and search in the UNIX directories

Hi, I want the Perl script with versions 5.8.2 and 5.8.5 starting with #!/usr/bin/perl The Perl program should read the excel file or text file line by line and taking into an array and search in the UNIX directories for reference file of .jsp or .js or .xsl with path .The Object names... (2 Replies)
Discussion started by: pasam
2 Replies

7. Shell Programming and Scripting

Perl Script not working on all directories

Hi Folks, I have a script that I am using. The files are in Directory c:\files\change\options In that directory I have many other sub folders like R1 R2 R5 E4 etc... When I run this script in windows, It looks like its just changing the first folder R1 and not the rest. Can I get an... (6 Replies)
Discussion started by: richsark
6 Replies

8. Shell Programming and Scripting

Finding directories with expression

Hi All, I need your help in finding pattern of directories. need to search for all pattern have "mypatern" from base directory folder. example ------- server1 - base directory 100 server1/ab_123456_1/mypattern 100 server1/ab_123456_2/mypattern 200 server1/ab_123457_1/mypattern... (13 Replies)
Discussion started by: lxdorney
13 Replies

9. Shell Programming and Scripting

How to run perl script on multiple files of two directories?

Hi I have 100 files under file A labled 1.txt 2.txt.....100.txt(made up name) I have 1 files under file B labled name.txt How can i run the same perl script on 100 files and file name.txt I want to run perl script.pl A/1.txt B/name.txt perl script.pl A/2.txt B/name.txt ....... perl... (3 Replies)
Discussion started by: grace_shen
3 Replies

10. Shell Programming and Scripting

Perl: script to work with files with the same name in different directories

Hi All, I would like to use a Perl (not Bash) script to work with multiple files of the same name in different directories (all in the same parent directory). I tried to create a loop to do so, but it isn't working. My code so far: while (defined(my $file = glob("./*/filename.txt")) or... (1 Reply)
Discussion started by: elgo4
1 Replies
Test::Class::Load(3pm)					User Contributed Perl Documentation				    Test::Class::Load(3pm)

NAME
Test::Class::Load - Load "Test::Class" classes automatically. VERSION
Version 0.02 SYNOPSIS
use Test::Class::Load qw(t/tests t/lib); Test::Class->runtests; EXPORT
None. DESCRIPTION
"Test::Class" typically uses a helper script to load the test classes. It often looks something like this: #!/usr/bin/perl -T use strict; use warnings; use lib 't/tests'; use MyTest::Foo; use MyTest::Foo::Bar; use MyTest::Foo::Baz; Test::Class->runtests; This causes a problem, though. When you're writing a test class, it's easy to forget to add it to the helper script. Then you run your huge test suite and see that all tests pass, even though you don't notice that it didn't run your new test class. Or you delete a test class and you forget to remove it from the helper script. "Test::Class::Load" automatically finds and loads your test classes for you. There is no longer a need to list them individually. BASIC USAGE
Using "Test::Class::Load" is as simple as this: #!/usr/bin/perl -T use strict; use warnings; use Test::Class::Load 't/tests'; Test::Class->runtests; That will search through all files in the "t/tests" directory and automatically load anything which ends in ".pm". You should only put test classes in those directories. If you have test classes in more than one directory, that's OK. Just list all of them in the import list. use Test::Class::Load qw< t/customer t/order t/inventory >; Test::Class->runtests; ADVANCED USAGE
Here's some examples of advanced usage of "Test::Class::Load". FILTER LOADED CLASSES You can redefine the filtering criteria, that is, decide what classes are picked up and what others are not. You do this simply by subclassing "Test::Class::Load" overriding the "is_test_class()" method. You might want to do this to only load modules which inherit from "Test::Class", or anything else for that matter. is_test_class $is_test_class = $class->is_test_class( $file, $directory ) Returns true if $file in $directory should be considered a test class and be loaded by Test::Class::Load. The default filter simply returns true if $file ends with ".pm" For example: use strict; use warnings; package My::Loader; use base qw( Test::Class::Load ); # Overriding this selects what test classes # are considered by T::C::Load sub is_test_class { my ( $class, $file, $dir ) = @_; # return unless it's a .pm (the default) return unless $class->SUPER:is_test_class( $file, $dir ); # and only allow .pm files with "Good" in their filename return $file =~ m{Good}; } 1; CUSTOMIZING TEST RUNS One problem with this style of testing is that you run all of the tests every time you need to test something. If you want to run only one test class, it's problematic. The easy way to do this is to change your helper script by deleting the "runtests" call: #!/usr/bin/perl -T use strict; use warnings; use Test::Class::Load 't/tests'; Then, just make sure that all of your test classes inherit from your own base class which runs the tests for you. It might looks something like this: package My::Test::Class; use strict; use warnings; use base 'Test::Class'; INIT { Test::Class->runtests } # here's the magic! 1; Then you can run an individual test class by using the "prove" utility, tell it the directory of the test classes and the name of the test package you wish to run: prove -lv -It/tests Some::Test::Class You can even automate this by binding it to a key in "vim": noremap ,t :!prove -lv -It/tests %<CR> Then you can just type ",t" ('comma', 'tee') and it will run the tests for your test class or the tests for your test script (if you're using a traditional "Test::More" style script). Of course, you can still run your helper script with "prove", "make test" or "./Build test" to run all of your test classes. If you do that, you'll have to make sure that the "-I" switches point to your test class directories. SECURITY
"Test::Class::Load" is taint safe. Because we're reading the class names from the directory structure, they're marked as tainted when running under taint mode. We use the following ultra-paranoid bit of code to untaint them. Please file a bug report if this is too restrictive. my ($package) = $_package =~ /^([[:word:]]+(?:::[[:word:]]+)*)$/; AUTHOR
Curtis "Ovid" Poe, "<ovid@cpan.org>" BUGS
Please report any bugs or feature requests to "bug-test-class-load@rt.cpan.org", or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Class-Load <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Class-Load>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. ACKNOWLEDGMENTS
Thanks to David Wheeler for the idea and Adrian Howard for "Test::Class". COPYRIGHT &; LICENSE Copyright 2006 Curtis "Ovid" Poe, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-06-27 Test::Class::Load(3pm)
All times are GMT -4. The time now is 09:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy