in reply to Re: Perl ranges
in thread Perl ranges

Hello all, Remember that problem you'd helped me solve earlier? Well, I had to update the system and I think the Perl on it broke :( I've tried downloading and installing all modules mentioned here but the thing seems to be laughing in my face!! Here's the code that we fixed that time. Please tell me what Perl modules to install on perl-5.16.2_1 to make this work?

use strict; use warnings; use Net::FTP; use File::Listing qw(parse_dir); use POSIX qw(strftime); my ($host, $user, $passwd) = ('1.2.3.4', 'abcd', 'efgh'); my $dir = '/abc/def/ghi'; my $ftp = Net::FTP->new($host) or die qq{Cannot connect to $host: $@}; $ftp->login($user, $passwd) or die qq{Cannot login: }, $ftp->message; $ftp->cwd($dir) or die qq{Cannot cwd to $dir: }, $ftp->message; my $ls = $ftp->dir(); $ftp->binary(); foreach my $entry (parse_dir($ls)) { my ($name, $type, $size, $mtime, $mode) = @$entry; next unless $type eq 'f'; my $time_string = strftime "%Y-%m-%d", gmtime($mtime); if ($time_string ge '2013-03-21' && $time_string le '2013-04-2 +0') { print "File $name has an mtime of $time_string\n"; $ftp->get($name) or die "get failed ", $ftp->message; } } $ftp->quit;

It was getting files from the 21st to the 31st of the month and working fine till I updated the Perl and broke it :( The reason I want it this way is so that someone who isn't very familiar with scripts can easily modify the dates and away they'd go!

How do I fix this 'broken' Perl and make the above code (previously working) work again!!??

Replies are listed 'Best First'.
Re^3: Perl ranges
by choroba (Cardinal) on May 18, 2013 at 20:58 UTC
    What modules did you install and how? What does the code do after the update - does it throw errors and which ones?
    لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

      I've tried this on an AIX system and it works! but not on mine - FreeBSD 9.1

      I'm at just about my wits end on this - it'll become easier as I learn :) but for now please help - what modules are missing from my Perl installation?

        I've tried this on an AIX system and it works! but not on mine - FreeBSD 9.1

        I'm at just about my wits end on this - it'll become easier as I learn :) but for now please help - what modules are missing from my Perl installation?

      I installed the Net::Time, File::List, Net::FTP Bundle::LWP modules using cpanp

      I've tried this on an AIX system and it works! but not on mine - FreeBSD 9.1

      It doesn't throw any errors but just returns a prompt

      I'm at just about my wits end on this - it'll become easier as I learn :) but for now please help - what modules are missing from my Perl installation?

        I have no experience with Net::FTP or File::Listing. What I would do, though, would be to read their documentation again, to add
        print STDERR "Got here:", __LINE__, "\n";
        to every second line and maybe change the default fourth argument of parse_dir from ignore to warn.
        لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
Re^3: Perl ranges
by merlin's apprentice (Novice) on May 28, 2013 at 12:14 UTC

    I fixed it!! :D

    I found the missing module and installed it! :)

    Again, thank you all for your help!

    Every day I learn something on perl ;)