Thanks all for responses, and I have more perl reading than time, which will suit my dental cleaning appointment just fine tomorrow. I've skimmed what was posted mod one and taken what I thought most relevant for scripts moving forward. Right now, I'm drawing cpan errors with my strawberry perl install. I'm putting this output between readmore tags again along with the new source listing the way windows sees it.

+ cpan> install Devel +::Refcount Devel::Refcount is up to date (0.10). + cpan> install Win32 +::LongPath Running install for module 'Win32::LongPath' Checksum for C:\STRAWB~1\cpan\sources\authors\id\R\RB\RBOISVERT\Win32- +LongPath-1.07.tar.gz ok Scanning cache C:\STRAWB~1\cpan\build for sizes ...................................................................... +......DONE Configuring R/RB/RBOISVERT/Win32-LongPath-1.07.tar.gz with Makefile.PL Writing ppport.h Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for Win32::LongPath Writing MYMETA.yml and MYMETA.json RBOISVERT/Win32-LongPath-1.07.tar.gz C:\Strawberry\perl\bin\perl.exe Makefile.PL -- OK Running make for R/RB/RBOISVERT/Win32-LongPath-1.07.tar.gz cp lib/Win32/LongPath.pm blib\lib\Win32\LongPath.pm Running Mkbootstrap for LongPath () "C:\Strawberry\perl\bin\perl.exe" "-Iinc" -MExtUtils::Command -e chmod + -- 644 "LongPath.bs" "C:\Strawberry\perl\bin\perl.exe" "-Iinc" -MExtUtils::Command::MM -e c +p_nonempty -- LongPath.bs blib\arch\auto\Win32\LongPath\LongPath.bs 6 +44 "C:\Strawberry\perl\bin\perl.exe" "-Iinc" "C:\Strawberry\perl\lib\ExtU +tils\xsubpp" -typemap C:\STRAWB~1\perl\lib\ExtUtils\typemap xs\Long +Path.xs > xs\LongPath.xsc "C:\Strawberry\perl\bin\perl.exe" "-Iinc" -MExtUtils::Command -e mv -- + xs\LongPath.xsc xs\LongPath.c gcc -c "-I." "-I." -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_ +TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv +-fno-strict-aliasing -mms-bitfields -Wall -W -Wno-comment -s -O2 + -DVERSION=\"1.07\" -DXS_VERSION=\"1.07\" -o xs\LongPath.o "-IC: +\STRAWB~1\perl\lib\CORE" -DUSE_PPPORT -DWINVER=0x0a00 -D_WIN32_WINNT +=0x0a00 xs\LongPath.c In file included from C:/STRAWB~1/perl/lib/CORE/hv.h:631, from C:/STRAWB~1/perl/lib/CORE/perl.h:3904, from xs\\LongPath.xs:21: C:/STRAWB~1/perl/lib/CORE/hv_func.h: In function `S_perl_hash_murmur3' +: C:/STRAWB~1/perl/lib/CORE/hv_func.h:403: warning: cast from pointer to + integer of different size xs\\LongPath.xs: In function `MakeSymbolicLink': xs\\LongPath.xs:79: warning: implicit declaration of function `CreateS +ymbolicLinkW' xs\\LongPath.xs:80: error: `SYMBOLIC_LINK_FLAG_DIRECTORY' undeclared ( +first use in this function) xs\\LongPath.xs:80: error: (Each undeclared identifier is reported onl +y once xs\\LongPath.xs:80: error: for each function it appears in.) xs\\LongPath.xs: In function `XS_Win32__LongPath_find_close': xs\\LongPath.xs:179: warning: cast to pointer from integer of differen +t size xs\\LongPath.xs: In function `XS_Win32__LongPath_find_first_file': xs\\LongPath.xs:191: warning: cast from pointer to integer of differen +t size xs\\LongPath.xs: In function `XS_Win32__LongPath_find_next_file': xs\\LongPath.xs:281: warning: cast to pointer from integer of differen +t size dmake.exe: Error code 129, while making 'xs\LongPath.o' RBOISVERT/Win32-LongPath-1.07.tar.gz C:\STRAWB~1\c\bin\dmake.exe -- NOT OK Stopping: 'install' failed for 'Win32::LongPath'. Failed during this command: RBOISVERT/Win32-LongPath-1.07.tar.gz : make NO + cpan>

The way I see it is that I was doing alright. I believe to have cleared the cpan dependencies, but see complaints that look like things a C compiler says. Perl on windows 10 is such an odd platypus that I can't think of where C libraries are and how to remediate that.

Update

Source listing and errors:

C:\Users\Fred>type virus6.pl #!/usr/bin/perl use warnings; use strict; use File::Find; use Cwd; my $current = cwd; find( \&pm_beneath, $current, ); sub pm_beneath { use File::Basename; use 5.01; my $file = $File::Find::name; my $ref_to_file = \$file; my $days = .1; #hard-coded my $basename = basename($file); return if $file =~ /.*AppData.*/; use Fcntl ':mode'; use Win32::LongPath qw(:funcs :fileattr); # get object testL ('e', $file) or die "$file doesn't exist!"; $stat = statL ($file) or die ("unable to get stat for $file ($^E)"); # this test for directory $stat->{mode} & S_IFDIR ? print "Directory\n" : print "File\n" +; # is the same as this one $stat->{attribs} & FILE_ATTRIBUTE_DIRECTORY ? print "Directory +\n" : print "File\n"; # show file times as local time printf "Created: %s\nAccessed: %s\nModified: %s\n", scalar localtime $stat->{ctime}, scalar localtime $stat->{atime}, scalar localtime $stat->{mtime}; my $access_age = -M $basename; return if ( $access_age > $days ); print "$file\n"; printf "$basename: M age in days: %.4f\n\n", $access_age; say "ref to file is $ref_to_file"; } __END__ C:\Users\Fred>perl virus6.pl Can't locate Win32/LongPath.pm in @INC (you may need to install the Wi +n32::LongPath module) (@INC contains: C:\Users\Fred\Documents\perl5\l +ib\perl5/5.24.0/MSWin32-x64-multi-thread C:\Users\Fred\Documents\perl +5\lib\perl5/5.24.0 C:\Users\Fred\Documents\perl5\lib\perl5/MSWin32-x6 +4-multi-thread C:\Users\Fred\Documents\perl5\lib\perl5 C:\Users\Fred\ +perl5\lib\perl5/5.24.0/MSWin32-x64-multi-thread C:\Users\Fred\perl5\l +ib\perl5/5.24.0 C:\Users\Fred\perl5\lib\perl5/MSWin32-x64-multi-threa +d C:\Users\Fred\perl5\lib\perl5 C:/Strawberry/perl/site/lib C:/Strawb +erry/perl/vendor/lib C:/Strawberry/perl/lib .) at virus6.pl line 22. BEGIN failed--compilation aborted at virus6.pl line 22. C:\Users\Fred>

In reply to Re^4: how to handle the warnings in a find statement by Aldebaran
in thread how to handle the warnings in a find statement by Aldebaran

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.